Substrate 搭建环境搭建

weixin_49457619 2022-07-25 19:14:30

 

Substrate 环境搭建非常非常非常容易出错,不出意外的话这可能是本教材最难的一步。

本文是作者在 macOS 12.4、Ubuntu 20.04 均测试成功后总结出来

如有环境搭建相关问题,请发邮件到 baidu.eth@gmail.com。如能解决,必竭尽所能。

学习内容

本节包含知识点:

  •  搭建 substrate 开发环境
  • 使用 template 运行由 substrate 构建出来的区块链
  • 使用官方在线钱包与节点交互

 

系统环境

  • Ubuntu 20.04
  • rustc 1.62.1 (e092d0b6b 2022-07-16)
  • cargo 1.62.1 (a748cf5a3 2022-06-08)

 

搭建 substrate 开发环境

在搭建之前,默认您已将系统环境配置好

1. 安装所需的系统组件

sudo apt install -y cmake pkg-config libssl-dev git build-essential clang libclang-dev curl libz-dev

2. 设置 toolchain 为 stable

rustup default stable

3. 配置 wasm toolchain

ustup update 
rustup target add wasm32-unknown-unknown --toolchain stable # 注意这里是 stable,作者尝试过 nightly,发现失败几率非常大,所以改用这个

4. 克隆 substrate 节点模板

git clone -b v2.0.1 --depth 1 https://github.com/substrate-developer-hub/substrate-node-template
cd substrate-node-template

5. 初始化 WebAssembly 构建环境

make init

6. 编译节点模板

make build

7. 启动节点

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

控制台输出

Jul 24 17:19:39.469  WARN Running in --dev mode, RPC CORS has been disabled.    
Jul 24 17:19:39.481  INFO Substrate Node    
Jul 24 17:19:39.481  INFO ✌️  version 2.0.1-571448f-x86_64-macos    
Jul 24 17:19:39.481  INFO ❤️  by Substrate DevHub <https://github.com/substrate-developer-hub>, 2017-2022    
Jul 24 17:19:39.481  INFO 📋 Chain specification: Development    
Jul 24 17:19:39.482  INFO 🏷  Node name: gleaming-competition-2753    
Jul 24 17:19:39.482  INFO 👤 Role: AUTHORITY    
Jul 24 17:19:39.489  INFO 💾 Database: RocksDb at /var/folders/ps/9_nr7z195dnd07r12nv4h3tm0000gn/T/substrate3MlnOb/chains/dev/db    
Jul 24 17:19:39.489  INFO ⛓  Native runtime: node-template-100 (node-template-1.tx1.au1)    
Jul 24 17:19:39.665  INFO 🔨 Initializing Genesis block/state (state: 0xdf3b…ab40, header-hash: 0xd7b1…4950)    
Jul 24 17:19:39.681  INFO 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.    
Jul 24 17:19:39.722  INFO ⏱  Loaded block-time = 6000 milliseconds from genesis on first-launch    
Jul 24 17:19:39.725  WARN Using default protocol ID "sup" because none is configured in the chain specs    
Jul 24 17:19:39.728  INFO 🏷  Local node identity is: 12D3KooWQ3gFPhfHDF63FQpH9onCpJ2nWb5RXMMqQLdGaefF5PrM (legacy representation: 12D3KooWQ3gFPhfHDF63FQpH9onCpJ2nWb5RXMMqQLdGaefF5PrM)    
Jul 24 17:19:40.094  INFO 📦 Highest known block at #0    
Jul 24 17:19:40.096  INFO 〽️ Prometheus server started at 127.0.0.1:9615    
Jul 24 17:19:40.101  INFO Listening for new connections on 127.0.0.1:9944.    
Jul 24 17:19:42.012  INFO 🙌 Starting consensus session on top of parent 0xd7b14bc0a9ca49f05b454901d2f0c22c60189d5c8702b23d89cd5de85b034950    
Jul 24 17:19:42.019  INFO 🎁 Prepared block for proposing at 1 [hash: 0xcbf2783864e5384bd0d4e948c51a71ca0ea2277d9d0b9dde1c29617e48ce2d85; parent_hash: 0xd7b1…4950; extrinsics (1): [0xbebf…29c4]]    
Jul 24 17:19:42.023  INFO 🔖 Pre-sealed block for proposal at 1. Hash now 0xb1ea5fd73181c8bf8836f3399983e445d15e8510e5c5b6563791f14886473274, previously 0xcbf2783864e5384bd0d4e948c51a71ca0ea2277d9d0b9dde1c29617e48ce2d85.    
Jul 24 17:19:42.024  INFO ✨ Imported #1 (0xb1ea…3274)

至此,substrate 节点搭建完成

 

使用官方在线钱包与节点进行交互

1. 游览器打开(如果打不开请使用众所周知的工具)

https://polkadot.js.org/apps/#/explorer

2. 点击页面左上角,连接本地节点

3. 连接成功后显示节点信息

 

 

 

...全文
红包已过期,查看明细
拼手气红包 5.00元
375 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

43

社区成员

发帖
与我相关
我的任务
社区描述
让天下没有难学的区块链技术
区块链fabric 个人社区 广东省·广州市
社区管理员
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧