本文介绍 Filecoin 挖矿的环境变量,以及一些常用的运维操作。
Lotus 数据目录: LOTUS_PATH
export LOTUS_PATH=/gamma/lotus/data
Miner 数据目录:LOTUS_STORAGE_PATH
export LOTUS_STORAGE_PATH=/gamma/lotus-storage-miner/data
IPFS 网关地址: IPFS_GATEWAY
, 用于下载复制证明参数加速
export IPFS_GATEWAY=https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/
临时文件夹路径: TMPDIR
export TMPDIR=/cache/tmp
proof 证明参数路径: FIL_PROOFS_PARAMETER_CACHE
export FIL_PROOFS_PARAMETER_CACHE=/gamma/filecoin-proof-parameters
PreCommit1 proof parents 缓存路径(可以减少 56G 内存)
export FIL_PROOFS_PARENT_CACHE=/gamma/filecoin-parents
最大化内存参数: FIL_PROOFS_MAXIMIZE_CACHING
export FIL_PROOFS_MAXIMIZE_CACHING=1
使用 GPU 进行 Precommit2 加速: FIL_PROOFS_USE_GPU_COLUMN_BUILDER
export FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1
开启 Rust 日志:
export RUST_LOG=Debug
启用源码编译底层库:
export FFI_BUILD_FROM_SOURCE=1
启动小扇区支持:(一般用于本地测试网络)
export FIL_USE_SMALL_SECTORS=true
设置自定义 GPU 参数:
export BELLMAN_CUSTOM_GPU="GeForce RTX 2070 SUPER:2560"
# 查看本节点所监听的地址:
lotus net listen
/ip4/127.0.0.1/tcp/37103/p2p/12D3KooWNvqwb1gbgMNLFXtMAXP3ZwgTVgaLXbDUNqpWDQuKd1sh
/ip4/192.168.1.101/tcp/37103/p2p/12D3KooWNvqwb1gbgMNLFXtMAXP3ZwgTVgaLXbDUNqpWDQuKd1sh
/ip6/::1/tcp/46335/p2p/12D3KooWNvqwb1gbgMNLFXtMAXP3ZwgTVgaLXbDUNqpWDQuKd1sh
# 查看连接的节点列表:
lotus net peers
这个在你同步的时候发现自动同步失败,无法获取可用节点的时候特别有用:
lotus net connect {PEER_ADDR}
{PEER_ADDR} 指的是节点连接地址,如 /ip4/119.33.53.66/tcp/37103/p2p/12D3KooWNvqwb1gbgMNLFXtMAXP3ZwgTVgaLXbDUNqpWDQuKd1sh
。
这个在你同步的时候无法正常同步链上数据时候特别有用, 这时可以试下在启动 daemon 的时候禁用自动连接 peers ,然后手动连接到一个正常节点,例如:
lotus daemon --bootstrap=false
lotus net connect {PEER_ADDR}
{PEER_ADDR} 可以是任意一个能够正常同步数据的节点地址。
lotus sync status
# 手动这是链的高度
lotus chain sethead --epoch=3960
如果出现 Error
则说明链同步有问题,如果状态是 completed
,则说明链同步已经完成,可以进行其他操作了。
# 创建一个 BLS 钱包
lotus wallet new bls
# 查看钱包列表
lotus wallet list
# 查看钱包余额
lotus wallet balance
# 首先记得开启京东云的代理
export IPFS_GATEWAY="https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/"
# 下载 2KiB 扇区对应的 Proof 参数
./lotus fetch-params --proving-params 2KiB
下载 32GiB 扇区对应的 Proof 参数
./lotus fetch-params --proving-params 32GiB
目前所有 V27 的参数是 209GB,32GB 扇区对应的参数大小为 103GB。
lotus-storage-miner info
Miner: t0109653
Sector Size: 32 GiB
Byte Power: 1.812 TiB / 4.888 PiB (0.0362%)
Actual Power: 1.81 Ti / 4.73 Pi (0.0374%)
Committed: 1.844 TiB
Proving: 1.812 TiB (32 GiB Faulty, 1.69%)
Expected block win rate: 6.4627/day (every 3h42m48s)
Miner Balance: 128.044817705754006786
PreCommit: 0
Locked: 128.043278061722026245
Available: 0.001539644031980541
Worker Balance: 49.947643260499744805
Market (Escrow): 0.000000000000004064
Market (Locked): 0.000000000000004064
Sectors:
Total: 72
Proving: 58
PreCommit1: 12
PreCommit2: 1
SealPreCommit1Failed: 1
这是我们自己测试矿工的 info
,目前已经跑了 2 天了。这里大概解释一下各项数据的意思:
6.4627/day
标识平均每天可以出 6 个块。其他都是大家一眼都能看懂的,这里就不解释了。
# 列举所有扇区信息:
lotus-storage-miner sectors list
# 查看某个扇区的当前状态
lotus-storage-miner sectors status {SectorID}
# 查看某个扇区的历史状态
lotus-storage-miner sectors status --log {SectorID}
lotus-storage-miner sectors update-state --really-do-it=true {SectorID} {NewState}
# 例如某个 sector 密封失败一直卡在那里,
# 这时你可以尝试设置其状态为 '', 就可以跳过这扇区。
lotus-storage-miner sectors update-state --really-do-it=true 0 FailedUnrecoverable
<div class="custom-block danger"> 注意: update-state 需要谨慎操作,因为操作不当可能会发生一些难以预料的奇怪的错误。 </div>
lotus-storage-miner workers list
# 设置数据存储路径,该路径用来存储最终密封好的数据
# 执行该命令可能需要一点时间等待
lotus-storage-miner storage attach --store --init /path/to/persistent_storage
# 设置密封扇区的存储路径,密封完成之后该路径下的数据会被自动清空,相当于临时目录
# 执行该命令可能需要一点时间等待
lotus-storage-miner storage attach --seal --init /path/to/fast_cache
以上两个命令都是在启动了 miner 之后才可以执行,是一种动态添加存储路径的方式,非常灵活。 你还可以在命令中添加权重 --weight=10,默认权重是 10。 执行该命令后,可通过以下命令查看存储列表:
lotus-storage-miner storage list
启动 Worker 命令:
lotus-seal-worker run --address=192.168.1.100:2345 --precommit1=true --precommit2=false --commit=false
启动 worker 需要注意以下几点:
本文首发于:
小一辈无产阶级码农
原文链接:http://www.r9it.com/20200618/filecoin-env-and-operation.html
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!