集群搭建首先需要同步Daemon到最新高度,按照Filecoin节点搭建及启动搭建并同步好Daemon。
初始化并将Daemon同步到最新高度后,运行以下命令创建钱包:
$ lotus wallet new bls
Lotus钱包相关
在~/.profile
文件中,添加以下内容,并source ~/.profile
:
export BELLMAN_CPU_UTILIZATION=0.875
export FIL_PROOFS_MAXIMIZE_CACHING=1
export FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1
export FIL_PROOFS_USE_GPU_TREE_BUILDER=1
# > 100GiB!
export FIL_PROOFS_PARAMETER_CACHE=<FAST_DISK_FOLDER1>
# > 50GiB!
export FIL_PROOFS_PARENT_CACHE=<FAST_DISK_FOLDER2>
export TMPDIR=<FAST_DISK_FOLDER3>
# 存储miner相关文件,建议放在空间大的磁盘分区
export LOTUS_MINER_PATH=<FAST_DISK_FOLDER4>
其中:
FAST_DISK_FOLDER1
为证明参数文件目录,32GB的扇区大约需要110GB的空间;FAST_DISK_FOLDER2
为PreCommit1缓存文件路径,大小为56GB;FAST_DISK_FOLDER3
为临时文件目录,主要用于存放GPU锁定文件;FAST_DISK_FOLDER4
为Miner相关文件的存储目录,至少需要2TB的存储空间;
配置好上面的环境变量后,通过以下命令初始化Miner。
$ lotus-miner init --owner=<WALLET_ADDRESS>
此处的WALLET_ADDRESS
为上面第一步中创建的钱包地址。
Miner配置文件默认在~/.lotusminer/config.toml
文件中, 若配置了$LOTUS_MINER_PATH
环境变量,则在此路径下。
在配置文件config.toml
中,打开以下配置,把下面的MINER_IP_ADDRESS
改成Miner本机的内网IP地址,并指定一个端口,lotus-miner
默认端口是2345
。
[API]
ListenAddress = "/ip4/<MINER_IP_ADDRESS>/tcp/<PORT>/http"
RemoteListenAddress = "<MINER_IP_ADDRESS>:<PORT>"
Timeout = "30s"
...
[Storage]
AllowAddPiece = false
AllowPreCommit1 = false
AllowPreCommit2 = false
AllowCommit = false
AllowUnseal = true
修改$LOTUS_MINER_PATH/sectorstore.json
文件,将CanStore
的值改为false
。
$ lotus-miner run
$ lotus-miner info
<STORAGE_PATH>
为存储封装结果的路径。
# 新增存储路径
lotus-miner storage attach --store --init <STORAGE_PATH>
# 查看Miner存储路径
lotus-miner storage list
设置环境变量,使Workers可以连接到Miner:
export MINER_API_INFO=<TOKEN>:<API>
其中<API>
的格式为ip4/<MINER_API_ADDRESS>/tcp/<PORT>/http
。
<TOKEN>
为~/.lotusminer/token
文件中的内容, <API>
为~/.lotusminer/api
文件中的内容。
或输入以下命令直接获取:
$ lotus-miner auth api-info --perm admin
设置Worker路径的环境变量,建议放在空间大的磁盘分区:
export LOTUS_WORKER_PATH=<YOUR_FAST_DISK_FOLDER5>
export FIL_PROOFS_USE_MULTICORE_SDR=1
export FIL_PROOFS_MAXIMIZE_CACHING=1
export FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1
export FIL_PROOFS_USE_GPU_TREE_BUILDER=1
其中:
FIL_PROOFS_USE_MULTICORE_SDR
:PreCommit1多CPU核心绑定;FIL_PROOFS_MAXIMIZE_CACHING
:PreCommit1开启内存最大化;FIL_PROOFS_USE_GPU_COLUMN_BUILDER
:使用GPU计算COLUMN hash;FIL_PROOFS_USE_GPU_TREE_BUILDER
:使用GPU计算TREE hash;
$ lotus-worker run
$ lotus-worker info
$ lotus-miner sectors pledge
$ lotus-miner sealing jobs
$ lotus-miner sealing workers
$ lotus-miner sectors list