Giter Site home page Giter Site logo

raadhshenshahhaseeb / rollkit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rollkit/rollkit

0.0 0.0 0.0 44.45 MB

A modular framework for rollups, with an ABCI-compatible client interface.

License: Apache License 2.0

Shell 0.22% Go 99.39% Makefile 0.33% Dockerfile 0.06%

rollkit's Introduction

Rollkit

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

build-and-test golangci-lint Go Report Card codecov GoDoc

Building From Source

Requires Go version >= 1.19.

To build:

git clone https://github.com/rollkit/rollkit.git
cd rollkit 
go build -v ./...

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:

  1. Using a local development environment with local-celestia-devnet
  2. Using the Arabica or Mocha Celestia testnet

Compatibility

network rollkit celestia-node celestia-app
local-celestia-devnet v0.9.0 v0.11.0-rc6 v1.0.0-rc7
arabica v0.9.0 v0.11.0-rc6 v1.0.0-rc7
rollkit/cosmos-sdk rollkit/cometbft rollkit
v0.46.13-rollkit-v0.9.0-no-fraud-proofs v0.0.0-20230524013049-75272ebaee38 v0.9.0
v0.45.16-rollkit-v0.9.0-no-fraud-proofs v0.0.0-20230524013001-2968c8b8b121 v0.9.0

Local Development Environment

The Rollkit v0.9.0 release is compatible with the local-celestia-devnet oolong release. This version combination is compatible with celestia-app v1.0.0-rc7 and celestia-node v0.11.0-rc6.

Arabica and Mocha Testnets

The Rollkit v0.9.0 release is compatible with Arabica devnet which is running celestia-app v1.0.0-rc7 and celestia-node v0.11.0-rc6.

⚠️ Rollkit v0.9.0 is not tested for compatibility with latest releases of Mocha. ⚠️

Tools

  1. Install golangci-lint
  2. Install markdownlint
  3. Install hadolint
  4. 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.

rollkit's People

Contributors

adlerjohn avatar bidon15 avatar dependabot[bot] avatar distractedm1nd avatar evan-forbes avatar ferret-san avatar gupadhyaya avatar jbowen93 avatar jcstein avatar joroshiba avatar liamsi avatar manav-aggarwal avatar mattdf avatar mauricelc92 avatar msevey avatar musalbas avatar nashqueue avatar noot avatar ntsanov avatar pmareke avatar randomshinichi avatar raneet10 avatar rkoalsi avatar rootulp avatar s1nus avatar smuu avatar toanngosy avatar tuxcanfly avatar tzdybal avatar wondertan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.