Substrate开发之一:环境搭建、创建工程

1. Substrate环境搭建

1.1 安装依赖

Substrate 官方安装脚本:

1
curl https://getsubstrate.io -sSf | bash -s -- --fast

1.2 安装Rust

Substrate合约开发使用的是rust语言

1
2
3
4
5
curl https://sh.rustup.rs -sSf | sh 
rustup default stable
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu

1.3 安装substrate节点

1
2
3
4
5
git clone git@github.com:paritytech/substrate.git
cd substrate
cargo build --release
//在编译Rust源程序时,可能会出现如下 Couldn't resolve host name (Could not resolve host: crates)
//解决方式:在运行 cargo 的时候加入环境变量 CARGO_HTTP_MULTIPLEXING=false,取消并行下载

1.4 安装cargo-contract插件

cargo-contract插件用于编译智能合约

1
cargo install cargo-contract --force

1.5 安装wasm-opt插件

参考https://docs.porta.network/developer-guide/smart-contracts/install-wasm-opt-version-101

2. 创建合约工程

1.1 创建命令

1
cargo contract new erc20

1.2 测试命令

1
cargo contract test

如果执行报错则

1
2
3
4
rustup default nightly
cargo contract test
或者
cargo +nightly contract build

1.3 生成命令

1
2
3
4
rustup default nightly
cargo contract build
或者
cargo +nightly contract build

3. 启动Substrate

1
./target/release/substrate  --dev --ws-external --rpc-external --rpc-cors=all