LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 【Substrate开发教程】02 - 创建第一条Substrate区块链

【Substrate开发教程】02 - 创建第一条Substrate区块链

2020-10-11 松果 来源:区块链网络


安装依赖

使用上一篇文章介绍的Shell脚本安装依赖库和Rust开发运行环境:

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

如果因为国内网络连接问题无法安装,可参考上一篇文章getsubstrate.io脚本解析部分进行手动安装。

Substrate会使用到Rust的wasm工具链,这要求Rust使用开发版本(nightly版本),可以通过以下命令查看Rust当前使用的版本和开发版(nightly)的版本号:

rustc -V rustc +nightly -V cargo -V cargo +nightly -V

使用如下命令可以切换默认版本为stable或nightly

rustup default stable rustup default nightly

下载和编译substrate-node-template

substrate-node-template是一个区块链节点模板,相当于DAPP的后端,由Substrate Developer Hub提供,安装命令如下:

git clone https://github.com/substrate-developer-hub/substrate-node-template.git cd substrate-node-template cargo build --release

构建过程中可能会出现如下错误

Rust WASM toolchain not installed, please install it!

是因为最新版的Rust nightly可能有Bug,可以切换到早些版本的Rust nightly,再安装wasm工具链后构建

rustup toolchain install nightly-2020-08-23 rustup target add wasm32-unknown-unknown --toolchain nightly-2020-08-23 cargo +nightly-2020-08-23 build --release

启动substrate-node-template

编译成功后,进入substrate-node-template目录:

cd substrate-node-template

有三种方式启动node template:

1、普通启动

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

2、删除已经存在的数据库后启动(通常在runtime逻辑修改后执行,runtime是区块链的运行时逻辑)

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

3、带详细日志启动

RUST_LOG=debug RUST_BACKTRACE=1 ./target/release/node-template -lruntime=debug --dev

启动substrate-node-template后,控制台打印的区块生产信息如下:


可以通过Ctrl+C停止区块生产。

使用 -h选项可以查看substrate-node-template的使用帮助,更多细节在后续的文章中会介绍。

./target/release/node-template -h

和substrate-node-template交互的工具

启动node template就相当于启动了一个节点并运行区块链后端服务,现在需要和这条区块链进行交互,有这些工具可供选择:

使用substrate前端模板substrate-front-end-template在线使用Polkadot Apps源码编译Polkadot Apps

安装和使用substrate-front-end-template

substrate-front-end-template(前端模板)是Substrate Developer Hub提供的可以和node template交互的工具,基于React构建,通过源码进行安装。

因为是前端项目,需要先安装和升级Nodejs以及包管理工具Yarn,然后安装前端模板,全部命令如下:

1、 安装和升级Nodejs

sudo apt install nodejs sudo apt install npm sudo npm install -g n sudo n stable

2、 安装Yarn

sudo apt remove cmdtest curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update && sudo apt install yarn

3、安装substrate-front-end-template

git clone https://github.com/substrate-developer-hub/substrate-front-end-template.git cd substrate-front-end-template yarn install yarn start

在node template已启动的情况下,启动前端项目会展示本地Substrate区块链的出块情况:


在线使用Polkadot Apps

Polkadot Apps是一款Substrate区块浏览器兼前端交互工具,打开https://polkadot.js.org/apps即可在线使用


要连接到本地网络,切换区块浏览器网络为DEVELOPMENT - Local Node,点击转换按钮


可以看到连接本地的网络传输协议是ws://127.0.0.1:9944,这是一个WebSocket协议,Substrate目前统一使用WebSocket而非HTTP协议进行RPC通信。

在node template已启动的情况下,前端页面会展示本地测试区块链的出块情况:


在区块浏览器中可以直观的看到,基于Substrate的区块链默认是6秒出一个区块。

Polkadot Apps不但是一个区块浏览器,还提供了很多和区块链交互的工具,比如可以转账:


还提供一系列开发者工具,如链状态、交易、RPC调用、签名验证等,可自行探索这些功能:


Polkadot Apps已部署到ipfs网关和ipns,除了通过官方地址,也可通过以下链接访问:

https://ipfs.io/ipfs/QmX4ryEysFin1o6id5nE5UgTz38gmzt1XNnDseihybRTuahttps://ipfs.io/ipns/dotapps.io

源码编译Polkadot Apps

这部分可以参考github的文档,功能和在线使用相同,不再赘述。

Polkadot Apps的功能相比substrate-front-end-template更多,因此更推荐使用Polkadot Apps,在线使用也更方便。

—-

编译者/作者:松果

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...