转载自:https://blog.csdn.net/JIYILANZHOU/article/details/107442179
1, 准备一台 mac
2, 搭建 可以编译 lotus 源码的环境
https://docs.lotu.sh/en+install-lotus-macos
3, 下载 lotus 代码
git clone https://github.com/filecoin-project/lotus.git
4, 切换至 ntwk-calibration 分支
cd lotus
git checkout ntwk-calibration
下面步骤参考: https://docs.lotu.sh/en+setup-local-dev-net
注意:遇到下载 速度慢的问题时,可以设置环境变量:
export IPFS_GATEWAY=“https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/”
5, 开始编译 (编译参数为什么是 2k, 具体可以参考 Makefile)
make 2k
6, Download the 2048 byte parameters: (下载2048字节参数,零知识证明文件, 这一步需要下载1G大小的内容)
./lotus fetch-params 2048
执行完以上步骤,会自动在 /var/tmp/ 目录下生成 filecoin-proof-parameters 文件夹以及内容 (大概1G 左右)
补充: 如果在其他机器上成功运行过 本地测试网络,那么可以直接将 其他机器上的 filecoin-proof-parameters 目录拷贝过来,就可以直接使用了,避免网络不好,下载缓慢的问题。
7, Pre-seal some sectors: (预密封一些扇区:)
./lotus-seed pre-seal --sector-size 2KiB --num-sectors 2
执行完以上步骤,会自动在 /var/tmp/ 目录下生成 filecoin-parents 文件夹以及内容
并且还会在 home 目录下生成 .genesis-sectors 隐藏目录文件
8, 创建创世区块并启动第一个节点:
./lotus-seed genesis new localnet.json
./lotus-seed genesis add-miner localnet.json ~/.genesis-sectors/pre-seal-t01000.json
./lotus daemon --lotus-make-genesis=dev.gen --genesis-template=localnet.json --bootstrap=false
9,开启另一个终端,输入以下指令:
./lotus wallet import ~/.genesis-sectors/pre-seal-t01000.key
10,设置创世矿工
./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
11,启动矿机
./lotus-miner run --nosync
如果一切顺利,您将运行自己的本地Lotus Devnet。
扩展:
(命令操作实操,转载:http://www.r9it.com/20200106/lotus-local-testnet.html 进入文章直接看 第 6条)
(命令操作:转载:
https://juejin.im/post/6844904073766895630,
https://halysl.github.io/wiki/017-lotus%E6%8C%87%E4%BB%A4%E8%A7%A3%E6%9E%90/)
// wallet 钱包操作
./lotus wallet list (显示钱包中所有地址)
./lotus wallet balance xxxx (获取 地址的余额)
./lotus send xxxx xxx (给指定地址 转账 多少钱)
// 区块信息
./lotus chain head (显示当前区块链中 最新区块的hash )
./lotus chain getblock **** (根据区块hash 查找该区块的详细信息)
./lotus chain list (显示所有区块)
// 网络管理
./lotus net listen
./lotus net peers
./lotus net connect xxxxxx