#wasm #parity #webassembly #blockchain #eosio

app cargo-eosiocontract

Setup and deployment tool for developing eosio smart contracts

1 unstable release

Uses new Rust 2021

0.17.0 Jun 25, 2022

#203 in Build Utils

GPL-3.0 license

210KB
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:

    There's only an old version in your distributions package manager? Just use a binary release.

  • 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

~9–12MB
~266K SLoC