我们将基于Ubuntu 18.04来安装Substrate的开发环境。
我这边Ubuntu是安装在VMWorkstation虚拟机上的。
安装参考:https://docs.substrate.io/tutorials/v3/create-your-first-substrate-chain/#install-rust-and-the-rust-toolchain
但具体的操作步骤,不妨根据这篇文档来做。因为下面的步骤是我亲身验证有效的。
执行以下的包,安装预编译好的包:
sudo apt update && sudo apt install -y git clang curl libssl-dev llvm libudev-dev
这里有的包之前也许搭建其它的开发环境已安装,不用太关心。
如果安装过程中出错,建议采用折半的方式,把出错安装包找出来,最终确认上述所有的依赖包都安装成功。
curl https://sh.rustup.rs -sSf | sh
source ~/.cargo/env
可以通过以下命令来验证上述安装与配置是否成功:
cargo --version
rustup default stable
rustup update
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
完成上述的更新与配置好,可以执行以下命令,来验证rust及相应的工具链已安装成功:
rustc --version
rustup show
注1:上述的命令也可以通过一个脚本整合起来,以便一次性把SUbstrate开发环境所需要的依赖安装好。具体请参考: https://getsubstrate.io/。这个我就没有试了,有兴趣的同学可以自己试试。
注2:上述依赖包的安装,由于网络等原因,不妨多试几次。
这里主要是下载节点服务器包,以及节点访问Web页面。下载的是都是源码,需要我们自己编译与部署。
之所以下载源码,主要是方便我们后续的学习、改造等。
git clone https://github.com/substrate-developer-hub/substrate-node-template
cd substrate-node-template
# We want to use the `latest` tag throughout all of this tutorial
git checkout latest
cargo build --release
这个初次编译的时间会有些长,请耐心等待。编译好的目录如下:
编译输出的可执行文件等,就在target
目录中。
node --version
显然,我Ubuntu的node版本缺省太低。请切换到高版本:
nvm ls
nvm use 16.14.0
node --version
yarn --version
npm install -g yarn
git clone https://github.com/substrate-developer-hub/substrate-front-end-template
cd substrate-front-end-template
# We want to use the `latest` tag throughout all of this tutorial
git checkout latest
yarn install
启动Substrate节点:
./target/release/node-template --dev
其中选项--dev
,表示以开发模式启动该节点,那每次启动,该节点启动的就一个全新的链,从创世区块开始。
节点启动成功后,应该类似下图:
上图显示已有2个区块产生,只是还没有得到最终确认而矣。
启动前端模板工程:
yarn start
这个启动会缺省打开Ubuntu中的浏览器,速度会比较慢,请耐心等待。
这是由于跨域保护导致的报错。