Streamlining Rollup Deployment on Celestia with Ignite Manager
Streamlining Rollup Deployment on Celestia with Ignite Manager
Ignite Manager is a command-line tool that reads a file describing a Cosmos chain to be scaffolded, built and deployed.
Intro
In this article, we will delve into the creation of the Ignite Manager tool, designed to simplify the deployment of rollups on Celestia using Ignite. We will also discuss how we utilized this tool to deploy FabChain.
Pierre-Alexis Ciavaldini, founder of DistriFab, also works at ZKValidator which is one of the 100 selected validators for Celestia’s Blockspace Race. Celestia was the perfect match for DistriFab’s deployment, which is why it was very natural for ZKValidator to deploy DistriFab as part of the Blockspace Race.
Celestia: A New Approach to Modularity
Celestia, a recent addition to the Cosmos ecosystem, offers a unique approach to modularity by separating the consensus layer from the application logic in rollups. This separation enhances scalability as rollups can handle higher transaction volumes without congesting the main chain. Furthermore, rollups provide security by leveraging the security properties of the underlying blockchain without disrupting the application layer’s governance. Rollups also enable interoperability with various blockchain networks and applications, providing Cosmos’ standard interface for communication. To learn more about Celestia, you can read our previous article “A new paradigm: What is the Celestia blockchain?”
FabChain: Interoperability for Distributed Manufacturing Ecosystems
DistriFab’s FabChain aims to create interoperability between distributed manufacturing ecosystems by enabling interaction with different ecosystem actors, such as design agencies, storefronts, and manufacturers.
Deploying FabChain as a rollup on Celestia helps achieve these goals by taking advantage of rollups’ scalability, security, and interoperability benefits. FabChain and Celestia can accelerate the development and adoption of distributed manufacturing paradigms by connecting existing distributed manufacturing ecosystems in a standardised way.
Introducing Ignite Manager: Streamlining Rollup Deployment
ZKValidator’s Ignite Manager is a tool that automates the process of scaffolding, building, and configuring blockchain applications using the Ignite framework. By reading a configuration file and generating the necessary files and structure for your blockchain application, Ignite Manager simplifies the deployment process.
Deploying FabChain with Ignite Manager
To get started with Ignite Manager, clone the zkvalidator/ignite-manager repository and follow the instructions in the README file.
FabChain is a rollup built using the Cosmos SDK and deployed on Celestia. To deploy FabChain on Celestia, we used Ignite Manager, which reads a `build.yml` file to configure the chain and its features.
Here’s an example of a `build.yml` file used for deploying a chain:
ignite:
version: 12d3491
config: !include config.yml
framework:
type: rollkit
versions:
github.com/cosmos/cosmos-sdk: github.com/rollkit/cosmos-sdk@v0.46.7-rollkit-v0.7.2-no-fraud-proofs
github.com/tendermint/tendermint: github.com/celestiaorg/tendermint@v0.34.22-0.20221202214355-3605c597500d
chain:
name: fabchain
prefix: fab
modules:
- name: fab
deps:
- bank
- staking
models:
# chain models go here
After configuring the `build.yml` file, you can use Ignite Manager to deploy FabChain locally for development or to Celestia by running the following command:
# Run a rollup locally for development
./run.sh build.yml
# Deploy a rollup to Celestia
./run.sh build.yml \
--namespace "b9529aa114a1f70a" \
--app-address http://37.27.10.10 \
--bridge-address http://65.108.137.217
The tool works for rollkit rollups on Celestia (it starts a celestia-appd and celestia-node bridge locally) as well as Tendermint chains.
Ignite Manager: Enabling Growth in the Cosmos Ecosystem
Ignite Manager contributes to the growth and adoption of Cosmos-based blockchains and applications by providing a convenient tool for developers to deploy rollups on Celestia, a part of the Cosmos network. By streamlining the deployment process, Ignite Manager fosters a more vibrant and interconnected ecosystem of blockchain networks.
Enhancing Developer Experience with Ignite Manager
Ignite Manager significantly improves the developer experience by making it easier to build, test, and deploy rollups on Celestia. One of the pain points developers face while working with Ignite is that upgrading the underlying Tendermint, Rollkit, or Cosmos SDK sometimes requires changes to the Ignite version and rescaffolding the chain. Developers of Ignite-based chains thus need to re-apply their changes to the codebase.
By automating the deployment process and providing a simple configuration-driven approach, Ignite Manager allows developers to focus on building their applications rather than managing the complexities of version management. The chain is scaffolded according to the definition files every time, which removes the need to even commit the chain’s scaffolded code to a repo.
This streamlined experience can lead to faster development cycles, improved productivity, and increased adoption of Celestia and rollups in the blockchain development community.
Future Development of Ignite Manager
The main feature that we want to add as soon as possible to Ignite Manager is improving the templating capabilities, so that Cosmos chains developers can provide all of their business logic in Golang to be included in the scaffolded repo.
Future enhancements for Ignite Manager include support for additional blockchain frameworks and better error handling to make the deployment process more robust. These enhancements would make Ignite Manager even more versatile and convenient for deploying rollups on Celestia and other blockchain platforms.
Conclusion
Ignite Manager is a valuable tool for simplifying the deployment of rollups on Celestia using Ignite. By creating a `build.yml` file to describe the chain and its features, deploying a rollup like FabChain becomes as easy as running a single command. This not only saves time but also reduces the chances of errors during deployment. With Ignite Manager, developers can focus on building their applications and leave the deployment process to the tool, fostering a more efficient and productive development environment.