Lotus 新手运维手册
常用环境变量
Lotus 数据目录: LOTUS_PATH
export LOTUS_PATH=/gamma/lotus/data
Copied!
Miner 数据目录:LOTUS_STORAGE_PATH
export LOTUS_STORAGE_PATH=/gamma/lotus-storage-miner/data
Copied!
IPFS 网关地址: IPFS_GATEWAY, 用于下载复制证明参数加速
export IPFS_GATEWAY=https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/
Copied!
临时文件夹路径: TMPDIR
export TMPDIR=/cache/tmp
Copied!
proof 证明参数路径: FIL_PROOFS_PARAMETER_CACHE
export FIL_PROOFS_PARAMETER_CACHE=/gamma/filecoin-proof-parameters
Copied!
PreCommit1 proof parents 缓存路径(可以减少 56G 内存)
export FIL_PROOFS_PARENT_CACHE=/gamma/filecoin-parents
Copied!
最大化内存参数: FIL_PROOFS_MAXIMIZE_CACHING
export FIL_PROOFS_MAXIMIZE_CACHING=1
Copied!
使用 GPU 进行 Precommit2 加速: FIL_PROOFS_USE_GPU_COLUMN_BUILDER
export FIL_PROOFS_USE_GPU_COLUMN_BUILDER=1
Copied!
提示:
启用 PreCommit1 SDR 多核加速(为每个 PC1 任务绑定共享一组 L3 缓存的一组 CPU),能大大提高 PC1 的密封效率, 我本人使用 3970x 实测结果为 2h17min,并行三个扇区。不过目前官方提示该项加速还不是很稳定。 我本人测试的结果也是这样,依赖于绑核的稳定性,有的时候会绑错,尤其是对于多路 CPU。
FIL_PROOFS_USE_MULTICORE_SDR=1
Copied!
设置 Rust 日志等级:
optional: Trace,Info,Warn,Debug,Error
export RUST_LOG=Debug
Copied!
开启详细的报错日志追踪:
RUST_BACKTRACE=1
Copied!
启用源码编译底层库:
export FFI_BUILD_FROM_SOURCE=1
Copied!
启动小扇区支持:(一般用于本地测试网络)
export FIL_USE_SMALL_SECTORS=true
Copied!
设置自定义 GPU 参数:
export BELLMAN_CUSTOM_GPU=“GeForce RTX 2070 SUPER:2560”
Copied!
#lotus daemon 操作
#1. 查看节点信息
查看本节点所监听的地址:
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
Copied!
手动连接其他节点, 这个在你同步的时候发现自动同步失败,无法获取可用节点的时候特别有用:
usage
lotus net connect <PEER_ADDR>
e.g
lotus net connect /ip4/119.33.53.66/tcp/37103/p2p/12D3KooWNvqwb1gbgMNLFXtMAXP3ZwgTVgaLXbDUNqpWDQuKd1sh
Copied!
这个在你同步的时候无法正常同步链上数据时候特别有用, 这时可以试下在启动 daemon 的时候禁用自动连接 peers ,然后手动连接到一个正常节点,例如:
lotus daemon --bootstrap=false
lotus net connect <PEER_ADDR>
Copied!
<PEER_ADDR> 可以是任意一个能够正常同步数据的节点地址。
#2. 查看链同步状态
lotus sync status
等待链同步完成
lotus sync wait # 该命令会实时显示同步状态以及待同步区块高度
Copied!
如果出现 Error 则说明链同步有问题,如果状态是 completed,则说明链同步已经完成,可以进行其他操作了。 如果同步出错的话,你可以手动强制将你的本地链头区块指向某个高度:
usage
lotus chain sethead --epoch=
e.g
lotus chain sethead --epoch=3960
Copied!
#3. 修改 mpool 配置
usage
lotus mpool config
e.g
lotus mpool config ‘{“PriorityAddrs”:[],“SizeLimitHigh”:30000,“SizeLimitLow”:20000,“ReplaceByFeeRatio”:1.25,“PruneCooldown”:60000000000,“GasLimitOverestimation”:1.5}’
Copied!
这个配置非常有用,你可以用来做一些高级的操作。比如,如果你想设置你的节点为某个钱包发送的交易优先打包,你可以这样设置:
usage
lotus mpool config ‘{“PriorityAddrs”:[
],“SizeLimitHigh”:30000,“SizeLimitLow”:20000,“ReplaceByFeeRatio”:1.25,“PruneCooldown”:60000000000,“GasLimitOverestimation”:1.5}’e.g
lotus mpool config ‘{“PriorityAddrs”:[“t3r3afkf3ooeukknwx45g4t475pduslpkov32nvodv6xzbuliccka7qsax32m34yfbd7q3fwxapfb2isea6dnq”],“SizeLimitHigh”:30000,“SizeLimitLow”:20000,“ReplaceByFeeRatio”:1.25,“PruneCooldown”:60000000000,“GasLimitOverestimation”:1.5}’
Copied!
#4. 疏通消息,加快上链
你可以使用下面的命令自动计算并增加 gas 费用:
usage
lotus mpool replace --auto
e.g
lotus mpool replace --auto t3xxxxx 1234
Copied!
注意:
这个命令最好手动调用,如果自动调用的话,最后的结果可能让你支付超高额度的 Gas 费用,有矿工为此付出了惨烈的代价,支付了一笔 700 多 FIL 的手续费。
大多数情况下我们都是手动梳通消息:
lotus mpool replace --gas-feecap= --gas-premium= --gas-limit=
Copied!
具体操作如下:
首先在区块浏览器找到当前最新的一个区块的 ProveSector 类型的消息(或者跟你要梳通的消息的同类型的消息),记录他们的 Gas Fee Cap(gasFeeCap)和GasUsed(gasFeeCap) 和 Gas Used(gasFeeCap)和GasUsed(gasUsed)。
找到当前的要替换消息的 Gas Premium($oldGasPremium)。
计算上 replace 消息中的变量的值并替换:
GFC=gasFeeCapGP=gasFeeCap GP=gasFeeCapGP=oldGasPremium * 1.252
GL=$gasUsed * 1.1
CID 表示要替换的消息的 cid。
Copied!
#链快照操作
#1. 导出当前链快照
通常如果你不是做钱包或者交易所的话,你并不需要全节点,你可以直接从官方提供的快照来同步,或者从其他节点导出快照,再导入到当前 daemon. 这样可以节省不少同步的时间。 可以使用以下方式创建完整的 CAR 快照:
usage
lotus chain export
e.g
lotus chain export lotus-chain-2020-12-02.car
Copied!
通过上面的命令你可以导出一个完整的 lotus chain 快照。不过这个快照比较大,可能超过 100 GB。 所以更常用的方式是使用下面的命令导出一个阉割版的快照, 就是只导出最新的区块,跳过以前的旧消息。
usage
lotus chain export --skip-old-msgs --recent-stateroots=
e.g
lotus chain export --skip-old-msgs --recent-stateroots=2000 lotus_chain_2020_12_02.car
Copied!
–recent-stateroots 参数指定要导出的状态根数。 --skip-old-msgs 参数表示只导出那些 stateroots 直接引用的区块。
#2. 导入快照
在首次启动 daemon 的时候执行导入快照。
Without verification
lotus daemon --import-snapshot
With verification
lotus daemon --import-chain
Copied!
如果你希望在快照导入之后就立即退出守护进程,(例如在docker环境中很有用),请在命令中添加 --halt-after-import 标志:
lotus daemon --import-snapshot= --halt-after-import=true
e.g
lotus daemon --import-snapshot=lotus_chain_2020_12_02.car --halt-after-import=true
Copied!
#3. 压缩区块数据
随着你的节点同步的区块越来越多,占用的磁盘空间也越来越大,而磁盘存的越满,访问的速度就会越慢,最关键是你可能压根不想要这么多区块数据,99% 的 Miner 的需求都是一样的:在保持链同步正常的情况下,区块数据越精简越好,不想多存一个区块。 如果你也是这么想的,那么定期去压缩一下区块数据可能是你的一个刚需。
停止 Lotus 守护进程:
lotus daemon stop
Copied!
删除 $LOTUS_PATH 路径中 datastore/chain/ 文件夹的内容:
<LOTUS_PATH> 替换为你的 $LOTUS_PATH 变量内容,默认值为 ~/.lotus
rm -rf <LOTUS_PATH>/datastore/chain/*
Copied!
使用最小快照启动守护进程:
下载最小区块快照
wget https://fil-chain-snapshots-fallback.s3.amazonaws.com/mainnet/minimal_finality_stateroots_latest.car -O lotus_chain_minimal.car
或者在本地导出最小区块快照
lotus chain export --skip-old-msgs=true --recent-stateroots=900 lotus_chain_minimal.car
lotus daemon --import-snapshot=lotus_chain_minimal.car
Copied!
#钱包私钥的备份和删除
导出/导入钱包私钥到文件
usage
lotus wallet export
>e.g
lotus wallet export f3xxx > wallet.key
Copied!
导出之后我们需要再导入刚刚导出的私钥,确保备份的私钥能正确导入:
lotus wallet import wallet.key
如果提示 key already exists 则表示备份的私钥是有效的
ERROR: saving to keystore: checking key before put ‘wallet-f3rf5kmk2xenqukta4jkuk3xn5tbwrrylstd7inuzu6hhwtang6jk3edkxqzokbqs7wojbz23pkdadkg5wzmbq’: key already exists
Copied!
警告
不要把钱包私钥通过任何形式的网络传输,包括但不限于微信,Telegram, 邮箱等方式。建议直接用 U 盘拷贝多份存放在不同的地方。
删除钱包私钥,切记删除私钥之后还要删除文件!!!
usage
lotus wallet delete
e.g
lotus wallet delete f3xxxx
删除钱包之后记得还要把钱包文件删除,文件在 LOTUS_PATH 目录下的 keystore 文件夹里面
所有被删除的钱包地址,都是以 ORZGC43 开头的文件,你把这些文件全删了就 OK 了
rm -rf $LOTUS_PATH/keystore/ORZGC43*
Copied!
警告
wallet delete 命令并不会删除私钥文件,所以切记在使用命令删除私钥之后还需要手动删除私钥文件,否则一旦文件被盗,对方可以通过私钥文件恢复私钥!!!
#手动下载 proof 参数
首先记得开启京东云的代理
export IPFS_GATEWAY=“https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/”
usage
lotus fetch-params --proving-params <sector_size>
e.g
lotus fetch-params --proving-params 32GiB
Copied!
#lotus-miner 操作
查看矿工当前信息,包括算算力,山区密封情况
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
Copied!
这是我们自己测试矿工的 info,目前已经跑了 2 天了。这里大概解释一下各项数据的意思:
Byte Power: 已完成 Proving 的算力
Actual Power: 实际有效算力
Committed: 已完成 Commiting 的算力
32 GiB Faulty: 被标记为 Faulty 扇区总大小,也就是无效算力。
Expected block win rate: 预期竞争出块胜出的概率,6.4627/day 标识平均每天可以出 6 个块。
Miner Balance: 当前挖矿收益(广大矿工最关注的)
Locked: 挖矿收益锁仓的份额(前期的收益几乎全部锁仓了)
其他都是大家一眼都能看懂的,这里就不解释了。
质押扇区
质押一个由随机数据填充的扇区(垃圾数据)
lotus-miner sectors pledge
Copied!
查看扇区状态
列举所有扇区信息:
lotus-miner sectors list
查看某个扇区的当前状态
lotus-miner sectors status <sector_id>
e.g
lotus-miner sectors status 1
查看 sector 详细日志
lotus-miner sectors status --log 1
Copied!
修改扇区的状态
usage
lotus-miner sectors update-state --really-do-it=true <sector_id>
e.g
lotus-miner sectors update-state --really-do-it=true 0 FailedUnrecoverable
Copied!
警告:
update-state 需要谨慎操作,因为操作不当可能会发生一些难以预料的奇怪的错误。
删除扇区
usage
lotus-miner sectors remove --really-do-it=true <sector_id>
e.g
lotus-miner sectors remove --really-do-it=true 1
Copied!
警告:
扇区一旦删除将不可恢复,请谨慎操作,以免误删。
设置订单价格:
usage
lotus-miner deals set-ask --price= --max-piece-size=
e.g
lotus-miner deals set-ask --price=‘1000000’ --max-piece-size=34359738368
Copied!
查看 Worker 列表
lotus-miner sealing workers
Copied!
查看当前 miner 任务调度列表
lotus-miner sealing jobs
Copied!
如果你发现一个任务长时间没有完成(也许是 worker 掉线了),你可以使用下面的命令取消任务:
终止指定的任务(通常用来处理长时间没有响应的任务)
lotus-miner sealing abort
Copied!
增加存储路径
设置数据存储路径,该路径用来存储最终密封好的数据
执行该命令可能需要一点时间等待
lotus-miner storage attach --store --init /path/to/persistent_storage
设置密封扇区的存储路径,密封完成之后该路径下的数据会被自动清空,相当于临时目录
执行该命令可能需要一点时间等待
lotus-miner storage attach --seal --init /path/to/fast_cache
Copied!
以上两个命令都是在启动了 miner 之后才可以执行,是一种动态添加存储路径的方式,非常灵活。 你还可以在命令中添加权重 --weight=10,默认权重是 10。 执行该命令后,可通过以下命令查看存储列表:
lotus-miner storage list
Lotus 新手运维手册相关推荐
- CloudStack部署运维手册V2 --- 新鲜出炉
CloudStack部署手册V1版本: http://clovemfong.blog.51cto.com/blog/3297559/1198185 CloudStack部署运维手册V2 版本 1. C ...
- Oracle运维手册
Oracle运维手册 20070718李玲斌 [修订稿] 版本:V1.00S.200718 恒生电子证券事业部 二○○七年七月 本文所述内容(包括文字和图片),恒生电子股份有限公司(以下简称" ...
- 【Ceph】Ceph错误记录 Ceph 运维手册
Ceph 运维手册 第一部分:常用操作 - 12. 日志和调试 - <Ceph 运维手册> - 书栈网 · BookStack 分布式存储ceph运维操作 (摘抄自:https://www ...
- 系统运维手册_如何摆脱“背锅侠”,做一个合格的IT运维人员
说到IT运维,身处IT行业的小编有许多话要说."起的比鸡早,睡的比猪晚",最后被累成了狗.但是不得不说IT运维对于一个企业来说是至关重要的,现代化企业的判断标准就在于是否有完善的互 ...
- GOLDENGATE运维手册
OGG常用监控命令 说明 对GoldenGate实例进行监控,最简单的办法是通过GGSCI命令行的方式进行.通过在命令行输入一系列命令,并查看返回信息,来判断GoldenGate运行情况是否正常.命令 ...
- linux最全的命令大全,shell运维手册
1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 ...
- 运维手册——Mysql索引字段长度太长报错
声明:这是我在大学毕业后进入第二家互联网公司学习的内容 背景 Mysql执行Create Table语句时报错 Specified key was too long; max key length i ...
- 博科(Brocade)存储交换机日常运维手册
1.概述 通过了解和学习博科光纤交换机基本配置以及光纤通道业务基本配置,掌握博科交换机的日常巡检.配置变更.故障排查技能. 2.操作要点 了解博科交换机OS功能特点 交换机基本管理配置 光纤通道 ...
- linux日常运维手册_Linux日常运维上传下载工具lrzsz
安装好Linux系统之后,我们使用SecureCRT连接上我们的服务器 对着 黑乎乎的命令行,好激动 突然,需要上传个zip或者什么网页项目到服务器上,怎么上传呢 今天给大家介绍一个非常简单,非常之好 ...
最新文章
- P2P太假了,光有网站平台,连人都找不着了,更不用说网站大漏洞没人管,呵呵...
- 跨Hadoop平台Hive表export和import迁移
- 震惊!来看《这份程序员面试手册》!!!
- WinPcap笔记(1):VisualStudio2015配置WinCap
- 进程锁 读写文件的小例子 C++代码
- 异步fifo_跨时钟域同步(异步FIFO)
- tomcat给android发图片,一步一步学会http获取tomcat服务端的图片,在android客户端显示...
- 华为Mate30 Pro高清渲染图曝光:后置四摄+挖孔全面屏
- 在eclipse中使用第三方库总结
- 实用工具类APP,海外大有可为
- 解决WORD文档无法显示链接的图像问题
- MA1 轻轻松松学统计分析(上)
- 苹果手机密码设置在哪里_oppo怎么设置SIM密码-oppo手机SIM卡密码设置详细教程
- python,基础-字符串(1)
- 中国证券业协会会员登记注册程序
- 走进施耐德电气无锡工厂,见证自动化研发中心开幕
- 新农具时代,拼多多的进击与本分
- 智能穿戴设备的“最强心脏”
- 工信部装备司文件首提数字孪生关键技术
- python opencv-11图像像素归一化
热门文章
- 少年上人号怀素下一句,这首诗本是咏怀素的,却在结尾幽了张旭一默,我白够狂︱浅雨
- 日拱一卒,功不唐捐 | 每日思考俱乐部 专栏更新通知
- sketch插件 android,Sketch 插件大集合
- EASE:一种融合实体信息的句子嵌入对比学习方法
- ARCGIS 与SQL的衔接
- 知了Excel教你vlookup反向查询,就是这么简单
- Excel|5个神技巧,提高你的数据分析效率~
- dnf剑魂buff等级上限_DNF:95职业加强前瞻,爆发能力明显提升,瞎子大冰可点TP!...
- [feather]StarlingUi框架——feather抱怨
- 【Mysql】慢SQL优化详解 Mysql案例