Cargo plugin for ink! contracts
A CLI tool for helping setting up and managing WebAssembly smart contracts written with ink!.
Installation
-
Prerequisites
- rust-src:
rustup component add rust-src - wasm-opt: https://github.com/WebAssembly/binaryen#tools
- rust-src:
-
Install latest version from crates.io
cargo install cargo-contract
Usage
cargo-contract 0.3.0
Utilities to develop Wasm smart contracts.
USAGE:
cargo contract <SUBCOMMAND>
OPTIONS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
new Setup and create a new smart contract project
build Compiles the smart contract
generate-metadata Generate contract metadata artifacts
test Test the smart contract off-chain
deploy Upload the smart contract code to the chain
instantiate Instantiate a deployed smart contract
help Prints this message or the help of the given subcommand(s)
build requires the nightly toolchain
cargo contract build must be run using the nightly toolchain. If you have
rustup installed, the simplest way to do so is cargo +nightly contract build.
To avoid having to add +nightly you can also create a rust-toolchain file in your local directory containing
nightly. Read more about how to specify the rustup toolchain.
Features
The deploy and instantiate subcommands are disabled by default, since they are not fully stable yet and increase the build time.
If you want to try them, you need to enable the extrinsics feature:
cargo install --git https://github.com/paritytech/cargo-contract cargo-contract --features extrinsics --force
Once they are stable and the compilation time is acceptable, we will consider removing the extrinsics feature.
License
The entire code within this repository is licensed under the GPLv3. Please contact us if you have questions about the licensing of our products.