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 [命令選項]
| [命令選項] [參數…] | 說明 |
|---|---|
| --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]
例如: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 命令
作用是顯示命令列表或單個命令的幫助
