1 unstable release
0.17.0 | Jun 25, 2022 |
---|
#6 in #eosio
225KB
4.5K
SLoC
cargo-eosiocontract
is a CLI tool which helps you develop EOS smart contracts.
Installation
-
Step 1:
rustup component add rust-src
. -
Step 2: Install
binaryen
in a version >= 99:- Debian/Ubuntu:
apt-get install binaryen
- Homebrew:
brew install binaryen
- Arch Linux:
pacman -S binaryen
- Windows: binary releases are available
There's only an old version in your distributions package manager? Just use a binary release.
- Debian/Ubuntu:
-
Step 3:
cargo install --force cargo-eosiocontract
.
Usage
You can always use cargo eosiocontract help
to print information on available
commands and their usage.
For each command there is also a --help
flag with info on additional parameters,
e.g. cargo eosiocontract new --help
.
cargo eosiocontract new my_contract
Creates an initial smart contract with some scaffolding code into a new
folder my_contract
.
The contract contains the source code for the Flipper
contract, which is about the simplest "smart" contract you can build ‒ a bool
which gets flipped
from true
to false
through the flip()
function.
cargo +nightly contract build
Compiles the contract into optimized WebAssembly bytecode, generates metadata for it,
and bundles both together in a <name>.contract
file, which you can use for
deploying the contract on-chain.
cargo eosiocontract 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 always add +nightly
you can also set nightly
as the default
toolchain of a directory by executing rustup override set nightly
in it.
cargo eosiocontract check
Checks that the code builds as WebAssembly. This command does not output any <name>.contract
artifact to the target/
directory.
License
The entire code within this repository is licensed under the GPLv3.
Dependencies
~15–29MB
~449K SLoC