-
Notifications
You must be signed in to change notification settings - Fork 5
/
瑶池 单机&&集群
61 lines (58 loc) · 4.64 KB
/
瑶池 单机&&集群
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Filecoin测试网单机&&集群相关文档
运行filecoin测试网需要安装一下相关基础环境
>> Go 1.14
>> Gcc >= 7.4.0
>> Rust 1.42
相关执行脚本
>> sudo apt install mesa-opencl-icd ocl-icd-opencl-dev
>> sudo add-apt-repository ppa:longsleep/golang-backports
>> sudo apt update
>> sudo apt install golang-go gcc git bzr jq pkg-config mesa-opencl-icd ocl-icd-opencl-dev
>> curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
使用该脚本最后需要激活才能当前生效永久生效可将此环境变量写入 vi /etc/profile 文末添加: export PATH="$HOME/.cargo/bin:$PATH"重启
设备之后永久生效
>> export PATH="$HOME/.cargo/bin:$PATH"
>> sudo apt-get install ubuntu-drivers-common
>> ubuntu-drivers devices
>> sudo ubuntu-drivers autoinstall
克隆源代码
>> git clone https://github.com/filecoin-project/lotus.git
>> cd lotus
>> env RUSTFLAGS="-C target-cpu=native -g" FFI_BUILD_FROM_SOURCE=1 make clean all
>> v27 env RUSTFLAGS="-C target-cpu=native -g" FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1 FFI_BUILD_FROM_SOURCE=1 make clean all
env RUSTFLAGS="-C target-cpu=native -g" FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1 FIL_PROOFS_USE_GPU_TREE_BUILDER=1 FFI_BUILD_FROM_SOURCE=1 make clean all
>> sudo make install
升级lotus客户端当发现无法完成区块同步可以尝试升级代码
>> git pull origin master
>> env RUSTFLAGS="-C target-cpu=native -g" FFI_BUILD_FROM_SOURCE=1 make clean all
>> sudo make install
运行lotus节点
>> 执行 nohup lotus daemon >lotus.log 2>&1 & 如果运行过lotus 无法同步请删除:rm -rf ~/.lotus 然后在重新执行 基本上可以解决同步区
块问题若不行可以向社区寻求对等peer 当前的测试网版本基本上已经不在需要使用这个了
>> lotus sync wait 查看当前区块同步高度
>> lotus sync status 查看区块总高度以及自己的区块同步状态
运行lotus-storage-miner
>> lotus wallet new bls创建矿工钱包地址
备份私钥 lotus wallet export f3钱包地址导出的私钥是可以导入imtoken的
导入私钥 lotus wallet import 执行后输入备份的私钥
>> 如果没有提前下载证明文件可执行:export IPFS_GATEWAY="https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/"
如果在测试网上线初期有人非常恶心疯狂刷ID导致无法申请编号可以使用命令自动申请
>> lotus-storage-miner init create-worker-key-t3xxxx钱包地址先领取测试币 制定初始化目录可在 lotus-storage-miner 加上 -storagerepo=/da
ta(目录) 打印输出info也要加上
执行run之前需要加上内存参数以及rust日志gpu计算p2注意在运行lotus daemon 之前不要加上会出现无法同步区块的情况
>> export FIL_PROOFS_MAXIMIZE_CACHING=1 //使用参数需要做一个很大的swap空间
>> export RUST_LOG=info
>> export FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1 //使用参数需要正确安装驱动软件
>> 重定向执行lotus-storage-miner run >miner.log 2>&1 & 也可以指定初始化时的目录 lotus-storage-miner --storagerepo=/data(目录) run
>> 执行随机数命令 lotus-storage-miner sectors pledge 也可以执行初始化时的目录 lotus-storage-miner -storagerepo=/data (目录) sectors p
ledge 需要完成seal过后继续执行该命令,内存多可以并行跑几个p1 (p2 c1 c2 不能并行)
>> 一键执行脚本 nohup env FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1 RUST_LOG=info FIL_PROOFS_USE_GPU_TREE_BUILDER=1 FIL_PROOFS_MAXIMIZE_CACHING=1 lotus-storage-miner --storagerepo=/data run >miner.log 2>&1 &
>> 日志查看 tail -f lotus.log tail -f miner.log 只要执行了rust日志打印的环境变量都会在日志文件显示如果日志过多可使用 grep 进行过滤一般关键
词有 p1 "layer" p2 "tree"
>> 在没有完成一个proving error报错提示那是由于没有算力提交导致的只要完成一个扇区的密封有算力提交之后这个报错不会再出现 v27版本不会有这个错误提示了
还有v26/v27第一个扇区密封过程中还有一个警告⚠️提醒也是正常的。其他报错可根据日志排查并解决。
>> 远端 lotus daemons使用方法 假设A机器运行了lotus daemon 将~/.lotus目录下的 ListenAddress = "/ip4/127.0.0.1/tcp/1234/http" 改为
>> ListenAddress = "/ip4/0.0.0.0/tcp/1234/http" 然后重启lotus daemon 再把~/.lotus 目录下的 api token config.toml coppy到B机器下的
>> ~/.lotus目录下将api 和config.toml的 0.0.0.0 改为 A 机器的IP地址不在同一局域网公网云节点也是类似的方法这个时候假设 B 机器也安装了同版本的
>> lotus 客户端就可以用lotus sync wait 查看已经是完全同步状态就可以执行初始化以及运行挖矿客户端等相关操作。
未完成持续更新中