chiefbiiko / cargo-contract

Setup and deployment tool for developing Wasm based smart contracts via ink!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cargo-contract

CI Status Matrix Chat Discord Chat Latest Release

squink, the ink! mascotcargo-contract is a CLI tool which helps you develop smart contracts in Parity's ink!.
ink! is a Rust eDSL which allows you to write smart contracts for blockchains built on the Substrate framework.


Guided Tutorial for Beginners  •   ink! Documentation Portal


More relevant links:

  • Talk to us on Element or Discord
  • ink! ‒ The main ink! repository with smart contract examples
  • Canvas UI ‒ Frontend for contract deployment and interaction
  • Canvas Node ‒ Simple Substrate blockchain which includes smart contract functionality

Installation

Usage

You can always use cargo contract 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 contract new --help.

cargo contract 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 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 always add +nightly you can also set nightly as the default toolchain of a directory by executing rustup override set nightly in it.

cargo contract 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.

Please contact us if you have questions about the licensing of our products.

About

Setup and deployment tool for developing Wasm based smart contracts via ink!

License:GNU General Public License v3.0


Languages

Language:Rust 99.3%Language:Shell 0.7%