This repository contains a set of example contracts for ink!.
Have a look at the different examples to better understand how to use ink! to build your own Substrate smart contracts.
Please don't add them here, but create a Pull Request to the integration-tests/public
folder in the ink! repository instead.
The content of that folder is synchronized with this repository on new releases.
For building the example smart contracts found in this folder you will need to have cargo-contract
installed.
cargo install cargo-contract --force
We use the --force
to update to the most recent cargo-contract
version.
To build a single example and generate the contracts Wasm file, navigate to the root of the smart contract and run the following command:
cargo contract build
You should now have an optimized <contract-name>.wasm
file, a metadata.json
file and a <contract-name>.contract
file in the target
folder of your contract.
The .contract
file combines the Wasm and metadata into one file and can be used for instantiation.
- Install nodejs and then install pnpm
npm install -g pnpm
- Install dependencies
pnpm i
- Run each example with
pnpm <contract-example-name>
. e.g.pnpm flipper
- Visit http://localhost:5173 in your browser.
pnpm basic-contract-caller
pnpm contract-terminate
pnpm contract-transfer
pnpm erc20
pnpm erc721
pnpm flipper
pnpm incrementer
All examples are built with useink, a React hooks library built by the ink! team.
The examples in this folder are released into the public domain. We hope they help you build something great with ink!.
See the LICENSE file in this folder for more details.