在搭建Substrate开发环境之前,建议先搭建Rust开发环境,附教程:在Ubuntu中搭建Rust开发环境
本文将记录在Ubuntu中搭建Substrate开发环境的全过程,主要参照:up主“程序员令狐壹冲”的Substrate教学视频https://www.bilibili.com/video/BV1RL411b7Nh/?spm_id_from=333.337.search-card.all.click&vd_source=c72df54a97f1a48f27f7836119fe4637
1. 安装依赖
curl https://getsubstrate.io -sSf | bash -s -- --fast
2. 克隆Substrate Node Template
git clone -b v3.0.0 --depth 1 https://github.com/substrate-developer-hub/substrate-node-template
执行过程中报错’gnutls_handshake() failed’:
猜测原因是因为git使用了libcurl4-gnutls-dev,而在ubuntu18中该库作出了修改,导致git无法使用SSL进行连接,简单解决方法是将https改为使用http,附 参照文章
3. 安装rust工具链,初始化WebAssembly构建环境
先source一下:
source ~/.cargo/env
安装substrate nightly版本(更新最快,但不稳定)
rustup toolchain install nightly
将substrate默认设置stable版本:
rustup default stable
更新rust工具链到nightly发布版本
rustup update nightly
安装nightly版本的wasm32 target
rustup target add wasm32-unknown-unknown --toolchain nightly
注:WebAssembly,即WASM,支持将C/C++/Go/Rust等语言实现的代码编译为浏览器可执行的机器码,从而支持浏览器以接近原生应用的性能运行相关应用。具体可参考文章:十分钟搞懂WebAssembly
4. 编译Substrate结点模板
cd substrate-node-template
cargo build --release
执行过程中若报错:failed to download parity-db,解决方法见 cargo build --release报错:unable to get packages from source | failed to download parity-db 解决方案
5. 启动节点
./target/release/node-template --dev
6. 使用polkadot-js访问节点
1、在浏览器中输入https://polkadot.js.org/apps(加载可能会比较久)
2、点击左上角会展开;
3、在展开的菜单中点击DEVELOPMENT;
4、点击Local Node;
5、点击转换。
可以看到连到了node-template节点的界面,可以看到链相关的一切信息