Celestia: Revolutionizing the Modular Blockchain Ecosystem
Celestia is the first modular blockchain network that offers data availability and a consensus layer, as well as settlement layers. By combining Celestia with Rollkit, developers only need to focus on creating the execution layer for a new blockchain. This marks a significant shift from traditional monolithic blockchains, where the entire stack must be developed from scratch. In this blog, we will explore how Celestia contributes to the modular blockchain ecosystem and its potential impact on the future of blockchain development.
The Modular Blockchain: A New Approach
Modular blockchains are an emerging trend in blockchain development, where the technology is divided into multiple layers. In contrast to traditional monolithic blockchains, developers only need to create the execution and settlement layers, while the lower layers, such as consensus and data availability, are reusable. Celestia divides a blockchain into four distinct layers:
- Execution Layer: Processes transactions and is customized by each dApp developer.
- Settlement Layer: An optional layer for layer two blockchains, responsible for relaying messages between security and performance-focused chains. Rollkit provides this layer.
- Consensus Layer: Manages consensus, allowing users to stake tokens to help validate transactions. Celestia provides this layer.
- Data Availability Layer: Acts as storage for the blockchain, ensuring data is always accessible. However, to verify data availability, lightweight data availability sampling is sufficient. Celestia provides this layer.
Benefits of Modular Blockchains
- Sovereignty: Modular blockchains offer the same level of sovereignty as layer 1 blockchains, allowing for independent upgrades and security patches.
- Ease of Launching New Blockchains: Developers only need to create the execution layer, making blockchain development as simple as smart contract development.
- Scalability: By separating layers and allowing specialized teams to develop each one, modular blockchains can achieve higher scalability without sacrificing decentralization.
Modular vs. Monolithic Blockchains
Traditional monolithic blockchains, such as Bitcoin and Ethereum, operate every required layer in a single blockchain, leading to scalability, maintainability, and flexibility issues. Modular blockchains, on the other hand, separate layers into multiple blockchains, integrating the remaining layers from other modular blockchains as needed. This is similar to the shift from monolithic to microservice architectures in software development, which has proven to be more scalable and maintainable.
Running Nodes on Celestia
There are several ways to participate in the Celestia network by running different types of nodes:
Consensus
- Validator Node: This type of node participates in consensus by producing and voting on blocks.
- Consensus Full Node: A celestia-app Full Node to sync blockchain history.
Data Availability
- Bridge Node: This node bridges blocks between the Data-Availability network and the Consensus network.
- Full Storage Node: This node stores all the data but does not connect to Consensus.
- Light Node: Light clients conduct data availability sampling on the Data Availability network.
Upnode’s Celestia Ansible Script for Simplified Deployment
For simplifying the Celestia node deployment process, Upnode has provided an Ansible script along with an interactive shell deployment tool for Celestia. You can find the script at:
Using this script, you can easily deploy Celestia nodes with the required configuration and settings. Please note that some customization and configuration may be required to match your specific deployment needs.
Developing Custom Rollups with Celestia, Rollkit, and Ignite CLI
The combination of Celestia, Rollkit, and Ignite CLI empowers developers to create their own rollups without worrying about finding validators for their chains. The developer experience mirrors traditional Cosmos-based blockchain development, with the added advantage of not having to manage the complexities of validator recruitment.
This interconnected ecosystem not only accelerates the development and deployment of new blockchain applications but also enhances connectivity between various blockchain components. By leveraging the strengths of Celestia, Rollkit, and Ignite CLI, developers can focus on their projects’ core business logic while enjoying the benefits of seamless connectivity and interoperability.
Ignite CLI: Streamlining Blockchain Development with Cosmos SDK
Ignite CLI is an easy-to-use command-line tool that simplifies the creation and maintenance of sovereign application-specific blockchains using the Cosmos SDK and Tendermint. Written in Go, Ignite CLI scaffolds everything you need to build, test, and launch your blockchain, allowing you to focus on your project’s core business logic.
Ignite CLI offers a suite of commands for creating a modular blockchain, scaffolding modules, messages, and types, starting a blockchain node in development with live reloading, and connecting to other blockchains through a built-in IBC relayer.
To install Ignite CLI, simply run the following command:
curl https://get.ignite.com/cli | bash
Ignite CLI offers several essential commands to facilitate your blockchain development:
ignite scaffold chain
: Creates a new chain, generating the necessary files and directories for your blockchain application.ignite scaffold message
: Creates a new message (endpoint) in the chain, modifying your source code to add the new message and make it available in your API.ignite scaffold query
: Quickly generates new queries, updating your source code to add the new query and make it available in your API. This command accepts a query name and a list of request fields, with an optional--response
flag to specify the return values of the query.
Rollkit: A Modular Rollup Framework for Enhanced Scalability
Rollkit is a versatile modular rollup framework designed to grant developers the freedom to deploy rollups across the modular stack. This innovative solution encourages rapid experimentation and innovation, opening up new possibilities for interconnected blockchain applications.
With Rollkit, developers can create their own rollups using the modular node provided for running rollups on top of a data availability layer. Rollkit exposes an ABCI-compatible client interface, which can be used as a building block for various applications. This compatibility allows Rollkit to replace Tendermint in any ABCI-compatible blockchain app, including Cosmos chains.
To integrate Rollkit into your project and replace Tendermint with Rollkit, please run the following commands:
go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.46.7-rollkit-v0.7.3-no-fraud-proofs
go mod edit -replace github.com/tendermint/tendermint=github.com/celestiaorg/tendermint@v0.34.22-0.20221202214355-3605c597500d
go mod tidy
go mod download
Once you have replaced Tendermint with Rollkit, please follow these steps to start a Celestia light node for the Blockspacerace testnet:
celestia light start --core.ip https://rpc-blockspacerace.pops.one --gateway --gateway.addr 127.0.0.1 --gateway.port 26659 --p2p.network blockspacerace
After starting the light node, you can start the rollup by following the instructions provided in this bash script: https://github.com/rollkit/docs/blob/main/docs/scripts/recipes/init.sh
Please note that additional setup may be required depending on your specific project requirements.
Examples of Developing Rollups using Rollkit
There are several examples that showcase how to develop rollups using Rollkit. These examples are categorized into beginner, intermediate, and advanced levels to cater to different skill sets:
Beginner
Intermediate
Advanced
This interconnected ecosystem not only accelerates the development and deployment of new blockchain applications but also enhances connectivity between various blockchain components. By leveraging the strengths of Celestia, Rollkit, and Ignite CLI, developers can focus on their projects’ core business logic while enjoying the benefits of seamless connectivity and interoperability.
Conclusion
In conclusion, Celestia is a groundbreaking modular blockchain network that is revolutionizing the way developers create and deploy new blockchains. By providing a robust and efficient data availability and consensus layer, Celestia empowers developers to focus on their core business logic while ensuring scalability and sovereignty.
Celestia, Rollkit, and Ignite CLI form a powerful, interconnected ecosystem that fuels rapid innovation and seamless connectivity in the blockchain arena. By capitalizing on these tools, developers can expedite the development of new blockchain applications and contribute to the ever-growing world of Web3 innovation. This interconnected ecosystem paves the way for a future where blockchains can be built and launched effortlessly, laying the groundwork for groundbreaking advancements in the blockchain domain.