A sovereign decentralised roll-up
Celewasm is a barebones decentralised sovereign roll-up, built on Celestia and CosmWasm.
Install the Nix Package Manager. Nix is used for all dependency management and is conveniently invoked through a set of helper scripts implemented in the repository.
MacOS:
sh <(curl -L https://nixos.org/nix/install) --daemon
Linux:
sh <(curl -L https://nixos.org/nix/install)
git clone [email protected]:qasaur/celewasm.git
cd celewasm
Celewasm's core services are written in Rust and compiled to CosmWasm-compatible contracts. These are located in the contracts
directory and their interfaces are defined in packages
. This is roughly correspondent with CosmWasm best practices as illustrated in the cw-plus
repository.
nix build .#contracts
nix develop .#contracts
Live testing is done on the Celestia Arabica testnet. The Nix flake defines a set of Nix packages which have all the necessary substitutions to be able to connect to the Celestia data-availability network.
Start the wasmd and celestia nodes. These are configured with a set of sane defaults which can be modified in the config
directory.
TODO: nix run .#start-rollup
Contracts defined in contracts
can be compiled, optimised, and deployed onto the rollup in one command.
TODO: nix run .#deploy -- cw20-base
nix run .#celestia -- <command>
nix run .#wasmd -- <command>
Docker support is a work-in-progress addition to the repository.
- 0.0.1
- Work in progress