Lotus 是 Filecoin 分布式存储网络的客户端(的 golang 实现)。
本文介绍Lotus的命令,在终端中执行命令用例格式如下:
lotus [全局选项] 命令 [命令选项] [参数…]
其中,[]内代表可选项。
全局选项有两个:
| [全局选项] | 说明 |
|---|---|
| --help, -h | 显示帮助(默认:false) |
| --version, -v | 打印版本(默认:false) |
下面介绍命令和对应的命令选项:
lotus daemon 命令
作用是启动Lotus守护进程,在终端中执行命令用例格式如下:
lotus daemon [命令选项] [参数…]
| [命令选项] [参数…] | 说明 |
|---|---|
| --api value | (默认值:“1234”) |
| --genesis value | 用于运行第一个节点的genesis文件 |
| --bootstrap | (默认值:true) |
| --import-chain value | 在第一次运行时,从给定文件加载链 |
| --halt-after-import | 从文件中导入链后暂停进程(默认:false) |
| --pprof value | 指定写入cpu性能测试文件的文件名 |
lotus auth 命令
作用是管理RPC权限,在终端中执行命令用例格式如下:
lotus auth create-token [命令选项] [参数…]
| [命令选项] [参数…] | 说明 |
|---|---|
| --perm value | 给令牌分配权限中的一种:read, write, sign, admin |
lotus chain 命令
作用是与filecoin区块链交互,在终端中执行命令用例格式如下:
lotus chain 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| head | 打印链头 | |
| getblock | 获取一个块并打印它的细节 | |
| --raw | 只打印原始块头(默认:false) | |
| read-obj | 读取对象的原始字节 | |
| getmessage | 获取并通过其cid打印消息 | |
| sethead | 手动设置本地节点头 tipset(注意:通常仅用于恢复) | |
| --genesis | 将链头重置为genesis(默认为false) | |
| --epoch value | 重置链头至指定世代(epoch)(默认值:0) | |
| list | 查看链的一部分 | |
| --height value | (默认值: 0) | |
| --count value | (默认值: 30) | |
| --format value | 指定打印出tipset的格式 (默认:":( | |
| get | 通过路径获取链的DAG节点 |
描述:在指定路径下获取ipld节点
lotus chain get /ipfs/[cid]/some/path
注意:你可以使用特殊的路径元素来遍历一些数据结构:
- /ipfs/[cid]/@H:elem - get 'elem' from hamt
- /ipfs/[cid]/@Ha:t01 - get element under Addr(t01).Bytes
- /ipfs/[cid]/@A:10 - get 10th amt element
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| export | 将链导出到car文件 | |
| --tipset value | ||
| slash-consensus | 报告共识错误 | |
| bisect | 因事件而二分链 |
描述:对链状态树进行二分
lotus chain bisect [min height] [max height] '1/2/3/state/path' 'shell command' 'args'
返回第一个条件为true的提示集
v
[开始]FFFFFFFTTT[结束]
示例:查找交易ID为100,000时出现的高度
- lotus chain bisect 1 32000 '@Ha:t03/1' jq -e '.[2] > 100000'
有关特殊路径元素,请参见'chain get'帮助
lotus client 命令
作用是进行交易,存储数据,检索数据,在终端中执行命令用例格式如下:
lotus client 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| import | 导入数据 | |
| local | 列出本地导入的数据列表 | |
| deal | Initialize storage deal with a miner | |
| find | 在网络中查找数据 | |
| retrieve | 从网络中检索数据 | |
| --address value | transactions 的地址 | |
| query-ask | find a miners ask | |
| --peerid value | specify peer ID of node to make query against | |
| --size value | 数据字节大小(默认值:0) | |
| --duration value | 交易持续时间(默认值:0) | |
| list-deals | 列出存储市场交易清单 |
lotus fetch-params 命令
作用是获取验证参数,在终端中执行命令用例格式如下:
lotus fetch-params [命令选项] [参数…]
| [命令选项] [参数…] | 说明 |
|---|---|
| --proving-params value | 下载给定大小的参数用于创建证明,例如32GiB |
lotus mpool 命令
作用是管理消息池,在终端中执行命令用例格式如下:
lotus mpool 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| pending | 得到未决消息 | |
| sub | 订阅 mpool 的改变 | |
| stat | 打印 mempool 统计数据 |
lotus msig 命令
作用是与多重签名钱包交互,在终端中执行命令用例格式如下:
lotus msig 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| create | 创建一个新的多重签名钱包 | |
| --required value | (默认值:0) | |
| --value value | 给多重签名的初始资金(默认值:“0”) | |
| inspect | 检查一个多重签名钱包 | |
| propose | 计划一个多签名事务 | |
| approve | 批准一个多签名事务 |
lotus net 命令
作用是管理P2P网络,在终端中执行命令用例格式如下:
lotus net 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| peers | 打印节点集 | |
| connect | 连接到一个节点 | |
| listen | 列出监听地址列表 | |
| id | 得到节点的身份标识 |
lotus paych 命令
作用是与filecoin链状态的交互和查询,在终端中执行命令用例格式如下:
lotus paych 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| get | 创建一个新的支付管道或获得一个现有的 | |
| list | 列出所有本地注册的付款管道 | |
| voucher | 与支付管道凭证进行交互 | |
| create | 创建已签名的支付管道凭证 | |
| create --lane value | 指定要使用的支付管道通路(默认值:0) | |
| check | 检查付款管道凭证的有效性 | |
| add | 将支付管道凭证添加到本地数据存储中 | |
| list | 列出指定支付管道的已存储的凭证 | |
| list --export | 输出导出字符串(默认值:false) | |
| best-spendable | 打印当前可消费的价值最高的凭证 | |
| submit | 提交凭证到链以更新支付管道状态 |
lotus send 命令
作用是账户间转账,在终端中执行命令用例格式如下:
lotus send [命令选项] <target> <amount>
| [命令选项] [参数…] | 说明 |
|---|---|
| --source value | 可选的指定要发送资金的帐户 |
lotus state 命令
作用是与filecoin链状态的交互和查询,在终端中执行命令用例格式如下:
lotus state 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| power | 查询全网算力或矿机算力 | |
| sectors | 查询矿机的扇区集 | |
| proving | 查询一个矿机的证明集 | |
| pledge-collateral | 获得最低限度的矿机抵押 | |
| list-actors | 列出网络中的所有角色 | |
| list-miners | 列出网络中的所有矿工 | |
| get-actor | 打印角色信息 | |
| lookup | 查找对应的ID地址 | |
| replay | 在tipset中重放特定消息 | |
| sector-size | 查看矿机的扇区规格 | |
| read-state | 查看角色状态的json表示 | |
| list-messages | 列出与给定条件匹配的链上的消息 | |
| --to value | 消息返回到给定地址 | |
| --from value | 从给定地址返回消息消息 | |
| --toheight value | 给定块高度(默认值:0)之前不要查看 | |
| --cids | 打印消息cid而不是消息(默认:false) | |
| compute-state | 进行状态计算 | |
| --height value | 将高度设置为计算状态(默认值:0) | |
| --apply-mpool-messages | 将来自mempool的消息应用到计算状态(默认:false) | |
| call | Invoke a method on an actor locally | |
| --from value | (默认值: "t01") | |
| --value value | 指定调用的值(默认值:“0”) | |
| --ret value | 指定如何解析输出(auto, raw, addr, big)(默认值:"auto") | |
| get-deal | 查看链上交易信息 | |
| wait-msg | 等待消息出现在链上 | |
| --timeout value | (default: "10m") | |
| --tipset value | 指定tipset调用方法(传递逗号分隔的cids数组) |
lotus sync 命令
作用是检查或与链同步器交互,在终端中执行命令用例格式如下:
lotus sync 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| status | 检查同步状态 | |
| wait | 等待同步完成 | |
| mark-bad | 将给定的块标记为bad,将阻止包含此块的xxx同步到链 | |
| check-bad | 检查给定块是否被标记为坏块,原因是什么 |
lotus version 命令
作用是打印版本号
lotus wallet 命令
作用是管理钱包,在终端中执行命令用例格式如下:
lotus wallet 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| new | 生成一个给定类型的新key | |
| list | 列出钱包列表 | |
| balance | 获取账户余额 | |
| export | 导出key | |
| import | 导入key | |
| default | 获取默认钱包地址 | |
| set-default | 设置默认钱包地址 |
lotus log 命令
作用是管理日志,在终端中执行命令用例格式如下:
lotus log 命令 [命令选项] [参数…]
| 命令 | [命令选项] [参数…] | 说明 |
|---|---|---|
| list | 列出日志系统 | |
| set-level | 设置日志系统的日志级别,系统标志可被多次指定 | |
| --system value | 限定具体日志系统 |
格式: lotus log set-level [command options] <level>
例如: lotus log set-level --system chain --system blocksync debug
Available Levels: debug,info,warn,error
Environment Variables:
GOLOG_LOG_LEVEL - 所有日志系统,默认日志级别
GOLOG_LOG_FMT - 更改输出日志格式(json, nocolor)
GOLOG_FILE - 将日志以追加形式写入stderr文件
help命令
作用是显示命令列表或单个命令的帮助