官方文档里是2k的单节点测试网,搭建完毕后,发现运行实在是太快了,很多细节来不急看,所以思考了一下,找到一个搭建8M扇区多节测试网络的方法。不废话,开始:
设置环境变量
export CGO_CFLAGS_ALLOW=”-D__BLST_PORTABLE__”
export CGO_CFLAGS=”-D__BLST_PORTABLE__”
设置lotus和lotusminer的工作目录
export LOTUS_PATH=~/.lotusDevnetexport
LOTUS_MINER_PATH=~/.lotusminerDevnet
设置环境变量
export LOTUS_SKIP_GENESIS_CHECK=_yes_
修改官方代码:代码params_2k.go,这里修改成8M,8秒出块(可以按自己的需求修改,比如改成512M)
下载参数:计划建立8m扇区的测试网
./lotus fetch-params 8388608
预封装2个扇区
./lotus-seed pre-seal –sector-size 8388608 –num-sectors 2
创建创世纪块,并启动节点
./lotus-seed genesis new localnet.json
./lotus-seed genesis add-miner localnet.json ~/.genesis-sectors/pre-seal-t01000.json
./lotus daemon –lotus-make-genesis=devgen.car –genesis-template=localnet.json –bootstrap=false
(这里有一个Error,没有关系,不用处理)
去到另一个终端,导入创世纪块私钥
./lotus wallet import –as-default ~/.genesis-sectors/pre-seal-t01000.key
注册创世纪矿工
./lotus-miner init –genesis-miner –actor=t01000 –sector-size=8388608 –pre-sealed-sectors=~/.genesis-sectors –pre-sealed-metadata=~/.genesis-sectors/pre-seal-t01000.json –nosync
执行./lotus-miner run –nosync,开启本地网络
启动其他节点,加入本地网络
将创世节点的相关文件(devgen.car lotus lotus-miner lotus-worker)拷贝到需要加入网络的节点
scp devgen.car lotus lotus-miner lotus-worker gth@58.22.104.10:/mnt/sdedisk/xd/test_8M
在其他节点启动lotus daemon
./lotus daemon –genesis=devgen.car –bootstrap=false
(同样也会报一个错误,没有关系,不用理会)
手动将当前节点连接到创世节点
先在创世节点上使用lotus net listen查询监听的端口
再在当前节点使用lotus net connect 接入创世节点
完成后,可以使用lotus net peers查看连接情况,lotus sync status查看同步情况
创建钱包
lotus wallet new bls
从创世节点转一些token到钱包地址
查看是否收到token
初始化矿工
./lotus fetch-params 8388608 下载参数
owner和worker参数为上一步创建的钱包地址
./lotus-miner init –owner t3v3cxyunefnblckckfs72ki4b2inwriolec7ervpzudxywchnow7ajes2db45nzomfc64xgeyw642k7ziddsa –worker t3tcbfuapgq3idoxspjxvjqsygpayqzs6fgaxwnoafxfojbvhpkjyj6fqmkwvexopgftt4jzmijvomlcjc7aha
这里有点偷懒,没有带–no-local-storage参数,使用默认的storage配置,官方文档里推荐使用–no-local-storage。
获得矿工号后,执行./lotus-miner run –nosync,运行miner
查看矿工信息./lotus-miner info
执行lotus-miner sectors pledge提交能力
至此本地多节点测试环境已搭建完毕