Rollkit
A modular framework for rollups, with an ABCI-compatible client interface. For more in-depth information about Rollkit, please visit our website.





Rollkit CLI
Requires Go version >= 1.21.
A cli tool that allows you to run different kinds of nodes for a rollkit network
while also helping you generate the required configuration files
Install
To install rollkit, simply run the following command at the root of the
rollkit repo
make install
The latest Rollkit is now installed. You can verify the installation by running:
rollkit version
Explore the CLI documentation here
Building with Rollkit
While Rollkit is a modular framework that aims to be compatible with a wide
range of data availability layers, settlement layers, and execution
environments, the most supported development environment is building on Celestia
as a data availability layer.
Building on Celestia
There are currently 2 ways to build on Celestia:
- Using a local development environment with local-celestia-devnet
- Using the Arabica or Mocha Celestia testnet
Compatibility
| network |
rollkit |
celestia-node |
celestia-app |
| local-celestia-devnet |
v0.11.9 |
v0.12.2-rc1 |
v1.4.0 |
| arabica |
v0.11.9 |
v0.12.1 |
v1.6.0 |
Local development environment
The Rollkit v0.11.9 release is compatible with the
local-celestia-devnet v0.12.5
release. This version combination is compatible with celestia-app
v1.4.0
and celestia-node
v0.12.2-rc1.
Arabica devnet and Mocha testnet
The Rollkit v0.11.9 release is compatible with
arabica-10 devnet
mocha-4 testnet which are running
celestia-app
v1.6.0
and celestia-node
v0.12.1.
Cometbft v0.37.x and Cosmos-SDK v0.47.x
The Rollkit v0.10.7 release is compatible with Cometbft v0.37.2 and Cosmos-SDK
v0.47.6. However, this version is no longer supported for future developements and
it is recommended to Rollkit v0.11.x.
- Install golangci-lint
- Install markdownlint
- Install hadolint
- Install yamllint
Helpful commands
# Run unit tests
make test
# Generate protobuf files (requires Docker)
make proto-gen
# Run linters (requires golangci-lint, markdownlint, hadolint, and yamllint)
make lint
# Lint protobuf files (requires Docker and buf)
make proto-lint
Contributing
We welcome your contributions! Everyone is welcome to contribute, whether it's
in the form of code, documentation, bug reports, feature
requests, or anything else.
If you're looking for issues to work on, try looking at the
good first issue list.
Issues with this tag are suitable for a new external contributor and is a great
way to find something you can help with!
See
the contributing guide
for more details.
Please join our
Community Discord
to ask questions, discuss your ideas, and connect with other contributors.
Dependency graph
To see our progress and a possible future of Rollkit visit our Dependency
Graph.
Code of Conduct
See our Code of Conduct here.