ink! Environment
Last updated
Last updated
This guide will help you set up your environment for ink! and Wasm smart contract development in UOMI.
ℹ️ Note Before proceeding, make sure your system meets the requirements for Rust development.
ink! is a Rust-based eDSL (embedded Domain Specific Language) developed by Parity Technologies. It's specifically designed for creating smart contracts that work with Substrate's pallet-contracts
.
Rather than creating a new programming language, ink! adapts Rust's capabilities for smart contract development.
💡 Tip Want to learn more about why ink! is a great choice for smart contract development? Check out the detailed benefits here.
Curious about the choice of WebAssembly for smart contracts? Find comprehensive
and Cargo are essential prerequisites for Wasm smart contract development.
Linux and macOS
Windows
Set up your Rust environment with these commands:
⚠️ Warning
The primary tool you'll need is cargo-contract
, a CLI tool for managing WebAssembly smart contracts.
Prerequisites
First, install binaryen for WebAssembly bytecode optimization:
Additional Dependencies
Install required linking tools:
Installing cargo-contract
💡 Tip Use
--force
to ensure you get the latest version. For a specific version, add--version X.X.X
Example for specific version:
Explore available commands with:
🔧 Alternative Setup Skip manual installation by using our pre-configured development container.
Find detailed instructions for using our dev container in the swanky-dev-container Github repository.
Visit the and follow the Windows installation instructions.
Due to a bug in cargo-contract
, building contracts with rust nightly 1.70.0 or higher will fail. It is advised to use rustc v1.69.0 or older until the issue is resolved from cargo-contract
side. For better dev experience it is advised to create a in the root of your project directory with following values.
See more