Skip to content
On this page

Rollkit

The first sovereign rollup framework, with an ABCI-compatible client interface. For more in-depth information about Rollkit, please visit our website.

build-and-testgolangci-lintGo Report CardcodecovGoDoc

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

bash
make install

The latest Rollkit is now installed. You can verify the installation by running:

bash
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

You can build Rollkit rollups with local-celestia-devnet, arabica devnet and mocha testnet and mainnet beta.

Compatibility

networkrollkitcelestia-nodecelestia-app
local-celestia-devnetv0.13.1v0.13.1v1.7.0
arabicav0.13.1v0.13.1v1.7.0
mochav0.13.1v0.13.1v1.7.0
mainnetv0.13.1v0.13.1v1.7.0
rollkit/cosmos-sdkrollkit/cometbftrollkit
v0.50.5-rollkit-v0.13.1-no-fraud-proofsv0.38.5v0.13.1

Local development environment

The Rollkit v0.13.1 release is compatible with the local-celestia-devnet v0.13.1 release. This version combination is compatible with celestia-app v1.7.0 and celestia-node v0.13.1.

Arabica devnet and Mocha testnet

The Rollkit v0.13.1 release is compatible with arabica-11 devnet mocha-4 testnet which are running celestia-app v1.7.0 and celestia-node v0.13.1.

Celestia mainnet

The Rollkit v0.13.1 release is compatible with mainnet-beta which is running celestia-app v1.7.0 and celestia-node v0.13.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 developments and it is recommended to use Rollkit v0.13.x.

Tools

  1. Install golangci-lint
  2. Install markdownlint
  3. Install hadolint
  4. Install yamllint

Helpful commands

sh
# 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.

Released under the APACHE-2.0 License