lotus应用第1讲-2k扇区开发环境部署和应用

基于环境限制,使用2k扇区测试和校验lotus功能。
此环境的部署和使用,官方文档也有提供,但讲的太过简洁,传送门在这里:Run a Filecoin local devnet
本文主要是细化官方文档中的描述,加入个人理解和使用心得。

简介

关于lotus的编译和部署,可以参考我整理的脚本:filecoin-doc
本文直接从编译后的使用过程开始讲解。
ps: 后续根据对lotus的深入了解,会逐步完善本文一些描述不清、不准确的地方

步骤

文件下载或者数据同步失败一般就是网路访问问题,目前的解决方式就是用vpn或者代理

步骤1-下载2k扇区封装所需的证明文件

该文件用于后续扇区封装时的校验,具体用途还不明了,下载耗时久,大概1G文件需要下载。
不用代理的话,国内网络下载很慢,可能得等十几个小时

script
1
./lotus fetch-params 2048

步骤2-设置预封装扇区

按我理解就是节点发布前通过程序预先封装好2个扇区(就是预先认证确认),每个扇区2kb。
用模拟数据封装的,执行后,会生成对应的minner账户(密钥)、文件等信息
这一步骤纯粹就是为了测试而生成的。

script
1
./lotus-seed pre-seal --sector-size 2KiB --num-sectors 2

执行后,会生成如下内容:

1
2
3
4
5
6
7
.
├── cache 缓存
├── pre-seal-t01000.json minner信息
├── pre-seal-t01000.key minner私钥
├── sealed 已经封装好的两个扇区(2个文件)
├── sectorstore.json 封装配置信息
└── unsealed 空文件,应该是存放尚未被封装的

步骤3-生成创世块配置文件

script
1
./lotus-seed genesis new localnet.json

步骤4-将预封装生成的minner信息,加入到创世配置文件中

script
1
./lotus-seed genesis add-miner localnet.json ~/.genesis-sectors/pre-seal-t01000.json

加入后,再去看localnet.json,里面多了个minner的信息

步骤5-启动lotus守护进程

根据前面生成的localnet.json,启动lotus守护进程。
根据在源码中查阅,这里需要注意的是:--lotus-make-genesis--genesis-template这两个参数应该仅是测试和开发时使用,在命令行列表中本身是不对外展示的。
其中:

  1. --lotus-make-genesis是用来生成car压缩文件,目前猜测是创世相关内容,具体作用未知。
  2. --genesis-template用来指定创世配置,就是前面生成的。
  3. --bootstrap是否监听或者同步别的节点(猜的)
script
1
./lotus daemon --lotus-make-genesis=devgen.car --genesis-template=localnet.json --bootstrap=false

步骤6-为lotus导入默认的minner私钥

保持第5步运行窗口,使用新的命令行窗口。
就是lotus当前节点默认钱包账户(私钥可对应生成账户)
该私钥在第二步中已生成

script
1
./lotus wallet import --as-default ~/.genesis-sectors/pre-seal-t01000.key

步骤7 为lotus-miner初始化配置minner信息

配置均是基于步骤2生成的文件来操作的

script
1
./lotus-miner init --genesis-miner --actor=t01000 --sector-size=2KiB --pre-sealed-sectors=~/.genesis-sectors --pre-sealed-metadata=~/.genesis-sectors/pre-seal-t01000.json --nosync

执行开挖

这一步消耗资源严重,谨慎操作,启动后,一个完整的节点运行案例就形成了。

script
1
./lotus-miner run --nosync
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2017-2023 Jason
  • Visitors: | Views:

谢谢打赏~

微信