Capsule is an out-of-box development framework for creating smart contract on Nervos' CKB.
Capsule consists of:
- Capsule CLI - Scaffolding tool.
CKB supports several programming languages for writing scripts, and the language supporting libraries are maintained in the following repositories:
- ckb-std - Rust
- ckb-c-stdlib - C
- ckb-lua - Lua
- Linux
- macOS
- Windows (WSL2)
The following must be installed and available to use Capsule.
- cargo and rust - Capsule uses
cargo
to generate Rust contracts and run tests. https://www.rust-lang.org/tools/install. - docker - Capsule uses
docker
container to reproducible build contracts. It's also used by cross. https://docs.docker.com/get-docker/ - cross. Capsule uses
cross
to build rust contracts. Install with
$ cargo install cross --git https://github.com/cross-rs/cross --rev=6982b6c
Note: All commands must be accessible in the PATH
in order for them to be used by Capsule.
Note: The current user must have permission to manage Docker instances. How to manage Docker as a non-root user.
Install the latest version
cargo install ckb-capsule --locked
Install the develop branch
cargo install ckb-capsule --git https://github.com/nervosnetwork/capsule.git --branch develop --locked
capsule help
# check environment
capsule check
# create project
capsule new my-demo
cd my-demo
capsule build
capsule test
capsule.toml
- Capsule manifest file.contracts
- Contracts directory.tests
- Contracts tests.build
- Contracts binaries.