FilecFileCoin挖矿教程搭建调试代码用的专用环境

Posted weixin_46596227

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FilecFileCoin挖矿教程搭建调试代码用的专用环境相关的知识,希望对你有一定的参考价值。

在本地运行 Filecoin 网络对于想要构建和测试其应用程序的开发人员非常有用。

手动设置的步骤

您可以使用常规的 Lotus 二进制文件启动开发网。此方法将使用 2 KiB 扇区启动 Lotus,允许资源较少的系统运行开发网。此解决方案可在具有 2 个 CPU 内核和 4 GB RAM 的计算机上轻松运行。

此过程需要您使用多个终端窗口,因此您可能会发现像 Tmux这样的终端多路复用器很有帮助。

第一步:设置环境变量

一些不支持 ADX 指令集的较旧的 Intel 和 AMD 处理器可能会因非法指令错误而出现混乱。要解决此问题,请添加 CGO_CFLAGS 环境变量:

export CGO_CFLAGS_ALLOW="-D__BLST_PORTABLE__"
export CGO_CFLAGS="-D__BLST_PORTABLE__"

第二步:设置临时值

用临时值替换 LOTUS_PATH 和 LOTUS_MINER_PATH:

export LOTUS_PATH=~/.lotusDevnet
export LOTUS_MINER_PATH=~/.lotusminerDevnet

如果您将这些值添加到 ~/.bashrc 之类的配置文件中,如果您想在 Filecoin 主网上运行节点,则必须删除它们。

第三步:克隆 Lotus 代码仓库

$ git clone https://github.com/filecoin-project/lotus.git
$ cd lotus

第四步:编译生成运行文件

使用 2048 字节扇区在调试模式下制作 Lotus 二进制文件:

$ make 2k

git submodule update --init --recursive
Submodule 'extern/filecoin-ffi' (https://github.com/filecoin-project/filecoin-ffi.git) registered for path 'extern/filecoin-ffi'
...

第五步:屏蔽源头数据

Lotus 将自动寻找 Filecoin 主网的起源。使用 LOTUS_SKIP_GENESIS_CHECK 环境变量跳过这一步:

export LOTUS_SKIP_GENESIS_CHECK=_yes_

第六步:抓取启动参数

抓取2048字节的参数:

$ ./lotus fetch-params 2048

2021-02-23T10:58:01.469-0500    INFO    build   go-paramfetch@v0.0.2-0.20200701152213-3e0f0afdc261/paramfetch.go:138  Parameter file /var/tmp/filecoin-proof-parameters/v28-proof-of-spacetime-fallback-merkletree-poseidon_hasher-8-0-0-0cfb4f178bbb71cf2ecfcd42accce558b27199ab4fb59cb78f2483fe21ef36d9.vk is ok
...
c261/paramfetch.go:162  parameter and key-fetching complete

第七步:为创世区块预先密封一些扇区

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

sector-id: {{1000 0} 0}, piece info: {2048 baga6ea4seaqoej3hzxzqr5y25ibovtjrhed7yba5vm6gwartr5hsgcbao7aluki}
...
2021-02-23T10:59:36.937-0500    INFO    preseal seed/seed.go:232        Writing preseal manifest to /home/user/.genesis-sectors/pre-seal-t01000.json

第八步:创建创世块

$ ./lotus-seed genesis new localnet.json

第九步:为默认帐户提供资金:

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

t3wknmlrksha5itapqstc46zdals676h67vjl7lg2lvmrxozzuth6hovuuamgfbk6cqgha3m3qfo4fxmuhubha some initial balance

第十步:启动第一个节点

./lotus daemon --lotus-make-genesis=devgen.car --genesis-template=localnet.json --bootstrap=false

第十一步:更新环境变量

创建一个新的终端窗口或选项卡

export LOTUS_PATH=~/.lotusDevnet
export LOTUS_MINER_PATH=~/.lotusminerDevnet

如果您将上述变量添加到 ~/.bashrc 之类的配置文件中,那么您可以直接调用该文件:

source ~/.bashrc

第十二步:导入创世矿工密钥

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

imported key t3sxyian3zr52a32r7gpyx55rhf4wmbsm7e6ir3ygcaytrl44txwxwyron7uo4pbbqvmsaek36gqbjmmpwkwga successfully!

第十三步:设置创世矿工。

此过程可能需要几分钟时间:

$ ./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

2021-02-23T11:05:17.941-0500    INFO    main    lotus-storage-miner/init.go:124 Initializing lotus miner
...
2021-02-23T16:55:57.257Z        INFO    main    lotus-storage-miner/init.go:494 Importing pre-sealed sector metadata for t01000
2021-02-23T16:55:57.266Z        INFO    main    lotus-storage-miner/init.go:266 Miner successfully created, you can now start it with 'lotus-miner run'

第十四步:启动矿工

./lotus-miner run --nosync

最后:成功

恭喜你,现在有一个 Lotus 节点和一个正在运行的矿工!

关于Textile快速测试

Textile 的开发人员创建了一种快速的方法来运行 Lotus dev-net 以进行测试。除了易于设置,这个开发网的一个优势是使用了一个模拟的“扇区构建器”,这使得密封等昂贵的操作变得更加容易。

项目地址

https://github.com/textileio/lotus-devnet

以上是关于FilecFileCoin挖矿教程搭建调试代码用的专用环境的主要内容,如果未能解决你的问题,请参考以下文章

Swarm BZZ节点搭建,撸百万空投挖矿教程

Swarmbzz挖矿教程,如何在win系统上搭建Bee节点

Win10使用Geth客户端搭建以太坊私有链连接可视化钱包及挖矿 多图 保姆级教程

XMR挖矿教程

『PHP』手把手教你使用phpstorm+xdebug调试php代码(保姆级教程)

phpstorm 断点调试 傻瓜教程