::: motto 道德经
天之道,损有余而补不足,人之道则不然,损有余而补不足。
:::
::: motto 马太福音
凡有的,还要给他,叫他有余,没有的,连他所有的也要夺走。
:::
本文介绍如何搭建本地的 Lotus 测试网络,以便在线上测试网络不可用的时候,进行本地挖矿测试。
搭建本地测试网络需要编译 lotus-seed
工具去预密封一些种子节点,所以我们需要先编译一下 debug
版本:
1 | cd {LOTUS_BASE_DIR} |
这里编译成
debug
版本还有一个好处就是,可以测试小扇区,最小支持 1024 字节的扇区。我们知道测试网最小的扇区是 1GB,
我们的开发电脑配置一般都不会很高,即使 1GB 的扇区,预密封一个也需要 1 小时左右。而且在密封期间由于 CPU 占用很高,如果你本机
电脑还开了很多其他任务的话,很容易造成电脑死机。1024 字节的小扇区,有利于我们在很短的时间内顺利地测试完一个流程。
下面我们开始搭建本地测试网络。
1.预密封一些扇区
这里我们采用 1024 Byte 的扇区,如果你要测试 1GB 扇区的话,把 --sector-size
设置成 1073741824
。
1 | ./lotus-seed pre-seal --sector-size 1024 --num-sectors 2 |
运行完这条命令之后,会在你的 home 目录生成一个 .genesis-sectors
目录
2.生成创世区块,并运行第一个节点
1 | ./lotus daemon --lotus-make-random-genesis=genesis.car \ |
pre-seal-t0101.json
文件中指定创世矿工,以及它所预密封的两个扇区。
3.设置创世矿工
1 | ./lotus-storage-miner init --genesis-miner --actor=t0101 --sector-size=1024 --pre-sealed-sectors=~/.genesis-sectors --nosync |
注意:这里的 --sector-size
应该跟上面的设置成一样的,否则会报错。
4.启动矿工
1 | ./lotus-storage-miner run --nosync |
矿工启动之后我们可以查看本地钱包余额,你会发现钱包中有一些初始的余额,大概几万个测试币。
5.启动其他节点,加入本地网络
首先我们把前面生成的 genesis.car 文件拷贝到指定的节点。
1 | scp genesis.car miner1@192.168.0.110:/home/miner1 |
然后启动 lotus daemon
1 | lotus daemon --genesis=genesis.car --bootstrap=false |
接下来把当前节点连接到创世节点
1 | lotus net connect {genesis_node_id} |
我们可以通过 lotus net peers
验证一下节点是否添加成功,你还可以通过 lotus sync status
查看同步状态。
6. 搭建视频
我把整个搭建测试网络流程的实操步骤都录制成了视频,视频地址为:
https://v.youku.com/v_show/id_XNDQ4MDU1NDg2OA==.html