Substrate之旅2:Substrate开发环境搭建

我们将基于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

这里有的包之前也许搭建其它的开发环境已安装,不用太关心。

如果安装过程中出错,建议采用折半的方式,把出错安装包找出来,最终确认上述所有的依赖包都安装成功。

安装rust与rust 工具链

  1. 安装rustup
curl https://sh.rustup.rs -sSf | sh
  1. 配置PATH,以便可以找到rust的包管理工具Cargo
source ~/.cargo/env

可以通过以下命令来验证上述安装与配置是否成功:

cargo --version
  1. 配置rust工具链使用最新的稳定版本
rustup default stable
rustup update
  1. 更新rust工具链到nightly发布版本,并将wasm的nightly编译目标加到工具链
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

完成上述的更新与配置好,可以执行以下命令,来验证rust及相应的工具链已安装成功:

rustc --version
rustup show

成功的输出类似如下:
在这里插入图片描述
Substrate之旅2:Substrate开发环境搭建_第1张图片

注1:上述的命令也可以通过一个脚本整合起来,以便一次性把SUbstrate开发环境所需要的依赖安装好。具体请参考: https://getsubstrate.io/。这个我就没有试了,有兴趣的同学可以自己试试。

注2:上述依赖包的安装,由于网络等原因,不妨多试几次。

设置开发环境

这里主要是下载节点服务器包,以及节点访问Web页面。下载的是都是源码,需要我们自己编译与部署。

之所以下载源码,主要是方便我们后续的学习、改造等。

Substrate node template下载与编译

  1. 克隆node模板仓库
git clone https://github.com/substrate-developer-hub/substrate-node-template
  1. 切换节点模板源码目录,并取出latest标签
cd substrate-node-template
# We want to use the `latest` tag throughout all of this tutorial
git checkout latest

目前源代码仓库的情形如下:
Substrate之旅2:Substrate开发环境搭建_第2张图片

  1. 编译该节点模板

编译前不妨记录目录,以便与编译后对比,以便查找编译输出
Substrate之旅2:Substrate开发环境搭建_第3张图片

cargo build --release

这个初次编译的时间会有些长,请耐心等待。编译好的目录如下:
Substrate之旅2:Substrate开发环境搭建_第4张图片
编译输出的可执行文件等,就在target目录中。

front-end template下载与编译

  1. 先确认下node的版本,因为node版本要不小于v14
node --version

在这里插入图片描述

显然,我Ubuntu的node版本缺省太低。请切换到高版本:

nvm ls
nvm use 16.14.0
node --version
  1. 安装yarn,并确认该工具已安装成功
yarn --version
npm install -g yarn

在这里插入图片描述

  1. 克隆front-end template git仓库
git clone https://github.com/substrate-developer-hub/substrate-front-end-template
  1. 更新该前端模板仓库至latest标签
cd substrate-front-end-template
# We want to use the `latest` tag throughout all of this tutorial
git checkout latest
  1. 安装该前端工程的依赖包
yarn install

启动模板节点并简单探索

在本地启动一个Substrate节点

启动Substrate节点:

./target/release/node-template --dev

其中选项--dev,表示以开发模式启动该节点,那每次启动,该节点启动的就一个全新的链,从创世区块开始。

节点启动成功后,应该类似下图:
Substrate之旅2:Substrate开发环境搭建_第5张图片
上图显示已有2个区块产生,只是还没有得到最终确认而矣。

启动前端模板

启动前端模板工程:

yarn start

这个启动会缺省打开Ubuntu中的浏览器,速度会比较慢,请耐心等待。

通过模板前端查看本地启动的Substrate区块链

Substrate之旅2:Substrate开发环境搭建_第6张图片

碰到的问题与分析

通过宿主机的浏览器打开模板前端报错

在这里插入图片描述

这是由于跨域保护导致的报错。

你可能感兴趣的:(区块链网络系统,rust,开发语言,后端,区块链)