Lotus-Miner初始化

Lotus-Miner初始化

一.环境变量配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# rustup 环境
# source "$HOME/.cargo/env"

# Go 环境变量
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

# Go 中国区加速
export GOPROXY=https://goproxy.cn

# 证明参数-中国区加快首次启动时的下载IPFS加速
export IPFS_GATEWAY=https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/
export FIL_PROOFS_PARAMETER_CACHE=/srv/cache/FIL_PROOFS_PARAMETER_CACHE
export FIL_PROOFS_PARENT_CACHE=/srv/cache/FIL_PROOFS_PARENT_CACHE

# 打开的文件限制并确保它至少设置为10000000
ulimit -n 1000000
export LOTUS_DISABLE_WATCHDOG=1
export TMPDIR=/srv/cache/seal            # Used when sealing.临时文件夹路径,用于存放显卡锁定文件

# Lotus Daemon 配置
# export LOTUS_PATH=$HOME/.lotus   # lotus daemon 路径


# Miner 配置
export LOTUS_MINER_PATH=$HOME/.lotusminer/  # lotus miner 路径
#export LOTUS_STORAGE_PATH=$HOME/.lotusminer  # 
# export BELLMAN_CUSTOM_GPU=                       # 指定GPU型号
#export FULLNODE_API_INFO=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJyZWFkIiwid3JpdGUiXX0:/ip4/127.0.0.1/tcp/1234/http
export RUST_LOG=Trace

# Work 配置
#export LOTUS_WORKER_PATH=/srv/data  # Lotus worker 路径
#export BELLMAN_CPU_UTILIZATION=0.95 # CPU使用率
export FIL_PROOFS_USE_MULTICORE_SDR=1 # PreCommit1多CPU核心绑定
export FIL_PROOFS_MAXIMIZE_CACHING=1  # PreCommit1开启内存最大化
export FIL_PROOFS_USE_GPU_COLUMN_BUILDER=0 # 使用GUP计算Precommit2 COLUMN hash.
export FIL_PROOFS_USE_GPU_TREE_BUILDER=0   # GPU计算Precommit2 TREE hash.
# export BELLMAN_CUSTOM_GPU="GeForce RTX 2080 Ti:4352"  # 指定Commit2的GPU型号

二.矿工初始化及启动

主网,如果旷工不想开启接单功能(接单会有很多坑,谨慎开启),单纯的挖矿(靠质押扇区增加算力,然后靠出块获取收益),则不需要配备 公网 IP 地址。运行本地测试网也不需要有公网 IP 地址(包括本地测试网的接单功能)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 矿工初始化
# 32GiB/64GiB可自行配置
lotus-miner init --no-local-storage --owner=f3xxxxxxxxxxxxx --worker=f3xxxxxxxxxxx --sector-size=32GiB
# 启动矿工
nohup lotus-miner run > ~/log/lotus-miner.log 2>&1 &

# 查看消息池
lotus mpool pending --local
# 上次基础BaseFee费用
lotus chain head | xargs lotus chain getblock | jq -r .ParentBaseFee
# 修改消息池费用
lotus mpool replace --gas-feecap 1260548422 --gas-premium 200000000 f3vrv3krhk7ozfmiumj4jzlnijs55mpce5bvl5uoaojz7f5zpxecikehmcli7yvrjb6qpacqil6bv4smnbvpuq
# 清除消息池
lotus mpool clear --really-do-it

三.矿工状态查询及操作

增加算力的其中一个方式就是质押扇区(当然也可以通过接收订单来增加算力)

a. WaitSeed 表示该扇区正在等待链上的消息,准备让扇区的数据上链(PreCommitSector 的信息)

b. PreCommitSector 消息上链之后,miner 会继续做 C1C2,做完之后,还需要有另一条消息上链:ProveCommitSector,这两条消息都上链之后(这两条消息都是需要收钱的,包括燃烧掉的 gas 费用和质押费用, 其中, gas 费用永久消耗,质押费用等扇区生命周期结束之后会退回),就可以看到该扇区的状态变成 Proving

c. 使用命令 lotus-miner sectors list 可以查看到该扇区的 OnChain 选项已经是 YES 了,但是它的 Active 选项依然还是 NO,等 miner 做完一次 WindowsPoST 之后(需要向链上发送一条 SubmitWindowedPoSt 消息,目前该消息已经基本不收费了), Active 选项才会变成 YES

等了一段时间,所有消息都成功上链,可以看到 Active 状态变成 Yes

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

# 质押一个随机数据的扇区,开始密封
lotus-miner sectors pledge

# 查看旷工状态
lotus-miner info

# 查看扇区 ID,获取扇区列表
lotus-miner sectors list

# 查看具体的某个扇区的状态(示例中显示的是扇区 0 的状态)
# 一个分区中的最大扇区数为2349。这意味着您已在截止时间0到达了第一个分区的最大限制。现在它将开始在截止时间1填充该分区。
lotus-miner sectors status 0

# 查看 0 号扇区的详细日志信息
lotus-miner sectors status --log 0

# 删除扇区
lotus-miner sectors remove --really-do-it

# 查看Worker
lotus-miner sealing workers

# 查询当前集群的任务分配情况:
lotus-miner sealing jobs

#证明时间
lotus-miner proving deadlines

# 模拟证明区块状态
lotus-miner proving check 0

# 提交扇区所需时间
PC1  3h  PC2  40M  C1    C2 2h10M
               1h20M		4h
	 		   25M           1h10M

四.创建Token,集群部署需要此配置

1
2
3
4
5
6
7

# 创建lotus-Token
~$ lotus auth create-token --perm admin
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJyZWFkIiwid3JpdGUiXX0.RKzJF7CVkFi4Ck3obwu0f7R62kqLKZcNk02ydtRgb3M
# 创建lotus-miner-Token
~$ lotus-miner auth create-token --perm admin
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJyZWFkIiwid3JpdGUiLCJzaWduIiwiYWRtaW4iXX0.ZDESMziam3Fvue5pHmXeUTHbheEdpZO-oLvoFcRbZdM
1
2
3
4
5
# 根据需求更改配置Worker地址
~$ lotus-miner actor propose-change-worker --really-do-it f3rvkj4cvbdfft6dmgcn37br5mfnqbz4perixbphazkgcd5dukysskjbek6ypr7iviiqcaugxihtxib5chrrza
Propose Message CID: bafy2bzacecetwa3v4kyukdez6bcog33x7b5uzca4nzmvnid6tjfixvgwbc52c
Worker key change to f3rvkj4cvbdfft6dmgcn37br5mfnqbz4perixbphazkgcd5dukysskjbek6ypr7iviiqcaugxihtxib5chrrza successfully proposed.
Call 'confirm-change-worker' at or after height 691666 to complete.