Lotus 指令解析

Lotus 指令解析

lotus

总揽

NAME:
   lotus - Filecoin 分布式存储网络客户端

USAGE:
   lotus [global options] command [command options] [arguments...]

VERSION:
   0.7.0

COMMANDS:
     daemon            启动一个守护进程
     auth              RPC 权限管理
     chain             filecoin 区块链交互信息
     client            处理交易、存储数据、检索数据
     createminer       创建全新的存储矿工(暂未使用)
     fetch-params      获得证明参数
     mpool             信息池 管理
     net               P2P 网络管理
     paych             报酬支付管理
     send              账户间转账
     state             filecoin 链上状态
     sync              链上同步模块
     version           打印版本
     wallet            钱包管理
     help, h           帮助文件

GLOBAL OPTIONS:
   --help, -h     show help (default: false)
   --version, -v  print the version (default: false)

lotus daemon

启动 Lotus 后台服务。

NAME:
   lotus daemon - Start a lotus daemon process

USAGE:
   lotus daemon [command options] [arguments...]

OPTIONS:
   --api value      (default: "1234")
   --genesis value  genesis file to use for first node run
   --bootstrap      (default: true)
   --help, -h       show help (default: false)

默认的配置会连接到公链,如果需要连接私链,需要手动配置 –bootstrap 和 –genesis。

lotus auth

[wait….]

lotus chain

filecoin 区块链交互信息。

NAME:
   lotus chain - Interact with filecoin blockchain

USAGE:
   lotus chain command [command options] [arguments...]

COMMANDS:
     head        打印链头(最新一项)
     getblock    获得特定块的信息
     read-obj    读取特定块信息并转成二进制
     getmessage  Get and print a message by its cid
     sethead     人为设置本地节点头部(注意:通常仅用于恢复)
     list        查一整块的链上信息(默认30个)

lotus chain head 返回最新的链头

lotus chain getblock block-id 该 id 可以通过 lotus chain headlotus chain list 获取。返回结果比较重要。

lotus chain read-obj block-id 原始数据

lotus chain getblock block-id 的结果

返回一个 json 数据结构。

{
  "Miner": "t01002", // 矿工名
  "Ticket": {  // 选票信息
    "VRFProof": "hFVn5AlPJMiv//oArwHcF7K7inN/ n01VLU0KODtepZTAXDw1I1FPAKlsx+YHb6ZeFLwTEgT2s7m3EDgHQzm3sTvAQUrRAPFZzFPuuonpoSSg67Z2AoAzzElhrzWi5X0i"  // VRF 证明
  },
  "EPostProof": { // EPost 证明
    "Proof": "maioEUYP2Ldgt8xTzmUZpIaVDV6+oQOmyDqNwo2ECTAe/m6oVy63U/yvOFXfiInrqth7hap2Py4zMZpevL7Lkj7/V5+M74eTUBwEHhS3jHCejB76aZeRJG8/sjF4qyorC33UoCPCJ3tEzzpC72LDxbg+q5AohLAkA2cJG29HCM3hDraB+zKnc+sV6gEleSKYlGqU5YKOfMOvycDkzvE6kBPdSxg0RIJBAcNFLgq4kLygoTQg+QAw9NxwtvhQXe2h", // 证明信息
    "PostRand": "peNP75G6wZZKjmqEvvZr5gzYnM/Rvg5YGAeW2StIy0cU5tIfj2JBc6dBo4OW0bAEGV1pKjCh3TQAoayNTQFU+zmf1c/NkgxmGaowArdqCsz4RJOQNWKuyjsg+I3qAk1n", // 提交随机
    "Candidates": [  // 候选人
      {
        "Partial": "Y3JWpHDZFQFI37t7eCvb5FzfB0O00VGZrRiEIjeCDDg=",
        "SectorID": 1,
        "ChallengeIndex": 0
      }
    ]
  },
  "Parents": [ // 父链信息
    {
      "/": "bafy2bzacedl2tjmci637mw72thezibn3nkloklajc2buemsaar6g6xdqnliwm"
    },
    {
      "/": "bafy2bzaceaaupypmv6dlqnrelt5vhoyp3refw5mrpkdr5kss3ck7beoptxs6c"
    }
  ],
  "ParentWeight": "1483923", // 父链权重
  "Height": 205, // 块高
  "ParentStateRoot": { // 父链状态
    "/": "bafy2bzacedf2znux35fi3tpk7skrijxuqwr26hluhdrjf62amd6rh4e7pgpgc"
  },
  "ParentMessageReceipts": { // 父链信息收据
    "/": "bafy2bzaceaa43et73tgxsoh2xizd4mxhbrcfig4kqp25zfa5scdgkzppllyuu"
  },
  "Messages": { // 信息
    "/": "bafy2bzacecgw6dqj4bctnbnyqfujltkwu7xc7ttaaato4i5miroxr4bayhfea"
  },
  "BLSAggregate": {
    "Type": "bls",
    "Data": "wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
  },
  "Timestamp": 1575357999, // 时间戳
  "BlockSig": { // 块签名
    "Type": "bls",
    "Data": "mNTR7BXir41EWZOZaunYpqaJoiLhaSFCfXAhS8aB5MtsAOzDcwfu5jcyKLqTrhPCBZGdJFR0BIRaLEkV1NanoknfLbaDAwgdNywJGP3kAgmXny/vRHBFYNA/5UfAOl6I"
  },
  "BlsMessages": [
    
  ],
  "SecpkMessages": [
    
  ],
  "ParentReceipts": null,
  "ParentMessages": [
    
  ]
}

其中有不少概念还没明确,需要看代码和 spec 文档熟悉。

lotus client

处理交易、存储数据、检索数据。

NAME:
   lotus client - Make deals, store data, retrieve data

USAGE:
   lotus client command [command options] [arguments...]

COMMANDS:
     import      导入本地数据
     local       查看本地已导入数据
     deal        和一个矿工初始化交易
     find        从网络上查找数据
     retrieve    从网络中收回数据
     query-ask   向矿工询价
     list-deals  列出市场所有交易

lotus client import $FILEPATH 导入文件

lotus client deal $DATA-CID $MINER-ID $PRICE $DURATION:$DATA-CID 可以通过 lotus client local 查出,$MINER-ID 可以通过 lotus state list-miners 查出, $PRICE 和 $DURATION 自定,分别是价格和持续时间。

lotus client find $DATA-CID:$DATA-CID 可以通过 lotus client local 查出

lotus client retrieve $DATA-CID $OUTPUTPATH:$DATA-CID 可以通过 lotus client local 查出

lotus mpool

[wait…]

lotus net

P2P网络的管理。

NAME:
   lotus net - Manage P2P Network

USAGE:
   lotus net command [command options] [arguments...]

COMMANDS:
     peers    打印出节点信息
     connect  连接一个对端节点
     listen   列出本机监听地址
     id       获得当前节点认证ID

lotus paych

[wait…]

lotus send

资金流动。

NAME:
   lotus send - Send funds between accounts

USAGE:
   lotus send [command options] <target> <amount>

OPTIONS:
   --source value  optinally specifiy the account to send funds from

lotus send [--source=$SOURCE-CID] $DES-CID $NUMBER:$SOURCE-CID 和 $DES-CID 指的是钱包地址,可以通过 lotus wallet list 查询

lotus state

filecoin 链上状态。

NAME:
   lotus state - Interact with and query filecoin chain state

USAGE:
   lotus state command [command options] [arguments...]

COMMANDS:
     power              询问网络或者矿工的算力
     sectors            询问矿工有的区块集合
     proving            询问矿工可以提供的区块
     pledge-collateral  获得矿工承诺抵押
     list-actors        列出网络中所有角色
     list-miners        列出网络中所有矿工
     get-actor          打印出角色详情
     lookup             找到相应的 ID 地址

lotus state power [$MINER-ID]:默认全网算力,可指定矿工 id

lotus sync

链上同步模块,后台也在执行。

NAME:
   lotus sync - Inspect or interact with the chain syncer

USAGE:
   lotus sync command [command options] [arguments...]

COMMANDS:
     status   查看同步状态
     wait     等待同步完成

lotus wallet

钱包相关功能。

NAME:
   lotus wallet - Manage wallet

USAGE:
   lotus wallet command [command options] [arguments...]

COMMANDS:
     new          创建一个新的给定类型的钱包
     list         展示所有钱包地址
     balance      获取钱包余额
     export       导出 key
     import       导入 key
     default      获得默认钱包地址
     set-default  设置默认钱包地址

lotus wallet new [bls|secp256k1]:创建 bls 或者 secp256k1 类型的钱包

lotus wallet balance [$WALLET-ADDRESS]:不指定则默认查看默认钱包的余额

Lotus-storage-miner

NAME:
   lotus-storage-miner - Filecoin decentralized storage network storage miner

USAGE:
   lotus-storage-miner [global options] command [command options] [arguments...]

VERSION:
   0.7.0

COMMANDS:
     run               运行一个矿工程序
     init              初始化一个矿工
     info              打印矿工信息
     store-garbage     在一个块中存储随机数据
     sectors           查看块的信息
     auth              RPC 权限管理
     chain             filecoin 链上管理
     client            处理交易、存储数据、检索数据
     createminer       创建存储市场矿工
     fetch-params      获得证明参数
     mpool             信息池管理
     net               P2P 网络管理
     paych             报酬支付管理
     send              账户间转账
     state             询问 filecoin 链上状态
     sync              同步数据
     version           打印版本
     wallet            钱包管理
     help, h           Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --storagerepo value  (default: "~/.lotusstorage") [$LOTUS_STORAGE_PATH]
   --help, -h           show help (default: false)
   --version, -v        print the version (default: false)

lotus-storage-miner run

NAME:
   lotus-storage-miner run - Start a lotus storage miner process

USAGE:
   lotus-storage-miner run [command options] [arguments...]

OPTIONS:
   --api 数值
   --enable-gpu-proving  是否应用 GPU 挖矿 (default: true)

lotus-storage-miner init

NAME:
   lotus-storage-miner init - Initialize a lotus storage miner repo

USAGE:
   lotus-storage-miner init [command options] [arguments...]

OPTIONS:
   --actor value             特别制定一个已经创建好的矿工角色(默认不使用)
   --create-worker-key       创建一个单独的工人号(默认:关)
   --worker value, -w value  制定一个工人号
   --owner value, -o value   拥有者号(指钱包id)
   --sector-size value       制定区块大小 (默认: 16777216 B)

lotus-storage-miner init --owner $WALLET-ID --sector-size 16777216:初始化一个区块为 16 MiB 的矿工。

lotus-storage-miner sectors

查看块的信息。

NAME:
   lotus-storage-miner sectors - interact with sector store

USAGE:
   lotus-storage-miner sectors command [command options] [arguments...]

COMMANDS:
     status   通过指定 sectors id 来查看状态
     list     列出所有的扇区
     refs     列出扇区的参照

lotus-storage-miner sectors status $SECTORS-ID:查看对应 sectors id 的状态

Search

    Table of Contents