Build a smart contract#
The contract development guides help you get started writing smart contracts. Here you have guides to help you set up your tools, test your contract, and more.
Once you are familiar with smart contracts, it is a good idea to read the Smart contracts best practices.
Note
To request CCDs for testing, use the buttons in the Concordium Wallets when running Testnet.
Before you can start developing smart contracts, you need to setup the development environment.
You can also watch a video about installing the smart contract tools.
Rust and Cargo#
First, install rustup, which installs both Rust and Cargo on your machine.
Then use rustup
to install the Wasm target, which is used for compilation:
$rustup target add wasm32-unknown-unknown
cargo-concordium
#
cargo-concordium
is the tool for developing smart contracts for the Concordium
blockchain.
It can be used for compiling and
testing smart contracts, and enables features such as
building contract schemas.
To install cargo-concordium
run:
$cargo install --locked cargo-concordium
For a description of how to use the cargo-concordium
run:
$cargo concordium --help
To use verifiable builds with cargo-concordium a container runtime such as Docker is required.
VSCode extension#
The VSCode extension can help you develop Concordium smart contracts. The extension sets up the editor for development, installs the cargo-concordium
smart contract development tool for all supported platforms, and provides commands in the editor for the essential workflows, such as building and testing smart contracts.
You can watch a video about how to use the VSCode extension.
Typescript smart contract client generator#
The Typescript smart contract client generator helps you generate JavaScript/TypeScript clients for smart contracts on the Concordium blockchain, providing a lower development time and better type-safety.
Concordium software#
The tool to deploy and interact with smart contracts is concordium-client. It is distributed as part of the Concordium software package.
To ease deployment and initialization, you can use the Smart contract deploy and initialize tool. It works with the Concordium Wallet for Web to deploy and initialize smart contracts to Mainnet and Testnet.
Note
To deploy smart contract modules and interact with the chain, make sure that you are running a node.