学习Substrate 开发的第一步就是环境搭建,本文的目标是把 下载substrate代码 先 git clone substrate 的代码: github.com 在国内也是龟速,因此我在 gitee.com fork 了一份,大家可以用以下命令 clone 代码: 编译 substrate 大约半小时,可以去喝个茶, 出现以下提示就成功了; 编译完之后,在 现在可以使用 substrate 来启动网络了,substrate用很多个命令(参数),可使用 这里使用 substrate 启动后,会输出如:当前的客户端版本,节点名,数据库目录,节点身份 ID等等: 我们可以通过 https://polkadot.js.org/apps/ 查看当前节点的运行状态(也可以进行简单的交互), 打开 https://polkadot.js.org/apps/ 可以看到如下界面: 默认时浏览器是连接当前的Polkadot CC1 候选主网,不过我们可以让他连接到本地节点,点设置->选择节点及配置地址前缀, 方法如下: 节点依然下拉框拉到最下面,选择 Local Node(Own, 127.0.0.1:9944) , 地址前缀选:Substrate(generic) 如下图: 配置好,别忘了点保存哦,连接好,就可以看到本地网络的块高了,如下图: 我们还可以测试一下转账功能: 在本地启动一个多节点连接的网络也是可以的,可以先以alice的名义启动一个验证人节点: 再(在另一个终端)启动另一个节点, 注意这里需要用 现在可以看到浏览器可以开始出块了。 好了, 已经踏入了Substrate开发的第一步。Substrate
编译出来,用 substrate 启动一个## 背景 先简单介绍一下[Polkadot](https://learnblockchain.cn/categories/Polkadot) 与[Substrate](https://learnblockchain.cn/tags/Substrate) 。 Polkadot 目标是成为一个连接各
编译 substrate
git clone https://github.com/paritytech/substrate.git
git clone https://gitee.com/lbc-team/substrate.git
cd substrate cargo build --release
Finished release [optimized] target(s) in 29m 46s
/target/release/
会生成 substrate 可执行文件。运行 substrate 节点网络
./target/release/substrate --help
查看用法。--dev
以开发者模式运行节点网络:./target/release/substrate --dev
2020-05-31 19:34:44 Running in --dev mode, RPC CORS has been disabled. 2020-05-31 19:34:44 Substrate Node 2020-05-31 19:34:44 ✌️ version 2.0.0-rc2-12b6c5dbe-x86_64-macos 2020-05-31 19:34:44 ❤️ by Parity Technologies <admin@parity.io>, 2017-2020 2020-05-31 19:34:44 📋 Chain specification: Development 2020-05-31 19:34:44 🏷 Node name: homely-volcano-9283 2020-05-31 19:34:44 👤 Role: AUTHORITY 2020-05-31 19:34:44 💾 Database: RocksDb at /Users/emmett/Library/Application Support/substrate/chains/dev/db 2020-05-31 19:34:44 ⛓ Native runtime: node-251 (substrate-node-1.tx1.au10) 2020-05-31 19:34:44 📦 Highest known block at #173 2020-05-31 19:34:44 Using default protocol ID "sup" because none is configured in the chain specs 2020-05-31 19:34:44 🏷 Local node identity is: 12D3KooWEE4Gd4isn28sPsXQ3YBSPUqfpxmfVvKHzBxjWhEQPxV9 (legacy representation: QmVDyLimoKQjaGttsnvSdjLeJUkdxReUL6eDrF4LB7BL1h) 2020-05-31 19:34:44 〽️ Prometheus server started at 127.0.0.1:9615 2020-05-31 19:34:44 👶 Starting BABE Authorship worker 2020-05-31 19:34:45 🙌 Starting consensus session on top of parent 0x8c3fffd67f59db85fd468dc5a4386ccaf58dc2841ab0370f8d94b6f5413a511f
运行多节点
./target/release/substrate --alice --chain local
--chain local
表示是一个本地的网络模式,之前我们是开发者模式,这个时候不会出块, 需要等待另一个节点加入才能出块。-d
来定义一个数据目录:./target/release/substrate --bob --chain local -d ./bob