go-filecoin命令

1,291 阅读5分钟

本文作者:星际联盟 原创作品,转载请注明出处

命令按作用可分为以下几大类:

  • 运行go-filecoin

  • 检索和存储数据

  • 挖矿操作

  • 查看数据结构

  • 网络相关

  • Actor相关

  • 消息相关

  • 其它工具


运行go-filecoin命令


go-filecoin init

初始化filecoin仓库

参数 类型 说明
--genesisfile string 包含创世区块DAG数据归档的文件路径或HTTP(S)的url
--peerkeyfile string 包含用于新节点的libp2p标识的密钥的文件路径
--with-miner string 若设置,使用预生成的矿工账号创建一个自定义的创世区块,要求使用开发模式运行守护进程(--dev)
--sectordir string staged和密封的扇区被写入其中的目录路径
--default-address string 若设置,将守护进程的默认地址设置为提供的地址
--auto-seal-interval-seconds uint 若设置为一个大于0的数字,则配置守护进程以一个给定的间隔检查和密封任何staged的扇区,默认为120
--devnet-staging bool 若设置,使用staging开发网络和其它staging开发网络特定引导参数的dns多地址来填充配置引导地址
--devnet-nightly bool 若设置,使用nightly开发网络和其它nightly开发网络特定引导参数的dns多地址来填充配置引导地址
--devnet-user bool 若设置,使用user开发网络和其它user开发网络特定引导参数的dns多地址来填充配置引导地址

go-filecoin config []

获取和设置filecoin的值,控制配置变量,这些变量被存储在你的filecoin仓库内部的配置文件里

操作示例:

  • 为节点命名
$ go-filecoin config heartbeat.nickname "IPFSUNION"
"IPFSUNION"
  • 加入可视化节点网络
go-filecoin config heartbeat.beatTarget "/dns4/backend-stats.kittyhawk.wtf/tcp/8080/ipfs/QmUWmZnpZb6xFryNDeNU7KcJ1Af5oHy7fB9npU67sseEjR"

go-filecoin daemon

启动一个长时间运行的守护进程

参数 类型 说明
--swarmlisten string 在其上监听网络链接的多个地址
--swarmrelaypublic string
--offline bool 离线启动守护进程
--elstdout bool
--is-relay bool 通知并允许网络传输通过本节点转发
--block-time string 一个节点在开始挖下一个区块前的等待时长,默认为30秒

go-filecoin wallet

管理你的钱包地址

命令 功能
go-filecoin wallet balance 获取指定钱包的余额
go-filecoin wallet export ... 导出指定的钱包
go-filecoin wallet import 导入钱包

go-filecoin address

操作地址

命令 功能
go-filecoin address default 获取节点默认钱包地址
go-filecoin address lookup 查找给定钱包
go-filecoin address ls 列出本节点所有钱包地址
go-filecoin address new 在本节点创建一个新钱包地址

操作示例:

  • 导出钱包
$ go-filecoin wallet export t15zjdapxf44k3o62f3j4gcdminqpmz2wiiidujba --enc=json
{"KeyInfo":[{"privateKey":"DRYAaAlZ4djtRmy8nZbkXF+zwUr5wfOYvFPM8Q59ZKM=","curve":"secp256k1"}]}
  • 显示钱包地址
$ go-filecoin address default
t144qelineqrlgz4ydau2f7id2x7tmtveqa7jph6a
$ go-filecoin address ls                                                                                          1 ↵
t1aqf7oymgwqme2cfhzys6vsqblvoiq4ob2oytwqy
t1bw6jhcfhrsjyxfi2zvx4d64bfrzszqf7q7lf6jy
t1crl7dz2ib7ioo4zl4gjiglsocbkbfwlx6dbhmqq
t1dogsby7oyl4x2day4q7f2vv5n2fhs2oivi77gva
t1dvunbptv6jmdq34dg6peb7alcrtzyabzt7bgy4i
t1eebocqtlcsgzl2lwnm2xvkshmokficy24hgxrbi
  • 新建钱包地址
$ go-filecoin address new
t1p4lbgeiw5kodav2erb3zillkwldth6yvsgvucgq

检索和存储数据


  • go-filecoin client

完成交易,存储数据、检索数据

命令 功能
go-filecoin client cat 读取出网络上存储的数据
go-filecoin client import 从文件导入数据到本地节点
go-filecoin client list-asks 列出在存储市场内的所有"问询"
go-filecoin client payments 列出给定交易的付款
go-filecoin client propose-storage-deal 向存储矿工发起一个存储交易
go-filecoin client query-storage-deal 查询一个存储交易的状态
go-filecoin client verify-storage-deal 核实一个存储交易
  • go-filecoin retrieval-client

管理“检索客户端”的操作

命令 功能
go-filecoin retrieval-client retrieve-piece 读取出矿工存储在网络上的块数据

挖矿操作


  • go-filecoin miner

管理单个矿工actor

命令 作用
go-filecoin miner collateral 获取矿工的有效抵押
go-filecoin miner create 使用FIL创建一个新的“文件矿工”
go-filecoin miner owner 显示矿工的actor地址
go-filecoin miner power 获取矿工算力与市场算力的对比
go-filecoin miner proving-window
go-filecoin miner set-price 设置存储的最小价格
go-filecoin miner set-worker 设置矿工worker的地址,返回一个消息CID
go-filecoin miner update-peerid 更改矿工正在操作的libp2p标识
go-filecoin miner worker 显示矿工worker的地址

go-filecoin mining

管理一个节点所有的挖矿操作

命令 功能
go-filecoin mining add-piece 直接向一个staged阶段的扇区添加数据
go-filecoin mining address 检索与本节点关联的矿工actor的地址
go-filecoin mining once 挖一个单区块
go-filecoin mining seal-now 开始密封所有staged的扇区
go-filecoin mining setup 在不开始挖矿计划的情况下让节点准备接收存储交易
go-filecoin mining start 开始挖区块和其它挖矿相关操作
go-filecoin mining status 查看挖矿状态
go-filecoin mining stop 停止挖矿

查看数据结构


go-filecoin chain

检视filecoin区块链

命令 作用
go-filecoin chain head 获取最重的tipset的CID列表
go-filecoin chain ls 列出区块链内的区块
go-filecoin chain set-head ... 设置链头为一个指定的tipset键
go-filecoin chain status 显示区块链同步操作的状态
go-filecoin chain sync ... 命令“链同步器”去同步指定的链头

go-filecoin dag

操作IPLD DAG 对象

命令 功能
go-filecoin dag get 使用其CID获取一个DAG节点

go-filecoin deals

管理本节点相关的交易

命令 功能
go-filecoin deals list 列出所有的交易
go-filecoin deals redeem 兑换交易的抵用券
go-filecoin deals show 显示CID为的交易的详情

go-filecoin show

显示人类可读的filecoin对象的说明

命令 功能
go-filecoin show block 使用其区块头CID展示一个完整的filecoin区块
go-filecoin show header 使用其CID展示一个filecoin区块头
go-filecoin show messages 使用其CID展示一个filecoin消息集合
go-filecoin show receipts 使用其CID展示一个filecoin收据集合

操作示例:

  • 查看当前节点区块同步状态:
$ go-filecoin show block $(go-filecoin chain head | head -n 1)

Block Details
Miner:  t2srtsc5smqngqtcc7dztnh6x3o7grsxiw636n66i
Weight: 18003375.333
Height: 23931
Messages:  bafy2bzacebc3bt6cedhoyw34drrmjvazhu4oj25er2ebk4u445pzycvq4ta4a
Receipts:  bafy2bzacebc3bt6cedhoyw34drrmjvazhu4oj25er2ebk4u445pzycvq4ta4a
Timestamp:  1570137044
  • 查看指定区块头信息:
$ filecoin-project/filecoin » go-filecoin show header bafy2bzacebbwrri5ii7quu4g7qznteypwlcq35bdh6nxrbnvr4rn2de2ir3si
Block Details
Miner:  t2srtsc5smqngqtcc7dztnh6x3o7grsxiw636n66i
Weight: 16325847.369
Height: 23859
Timestamp:  1570135194

网络相关


go-filecoin bitswap

探索libp2p的bitswap

命令 作用
go-filecoin bitswap stats 显示bitswap的统计

go-filecoin bootstrap

与引导地址互操作

命令 作用
go-filecoin bootstrap ls 列出引导地址

go-filecoin dht

操作分布式哈希表

命令 作用
go-filecoin dht findpeer 查找一个端点ID关联的多地址
go-filecoin dht findprovs 查找可提供给定键的值端点
go-filecoin dht query 通过查询分布式哈希表,查找最靠近给定端点ID的端点ID列表

go-filecoin id

显示关于网络端点的信息

  • -f --format 指定一个输出格式

go-filecoin ping ...

向p2p网络成员发送echo请求包

ping 是一个测试向其它节点发送数据的工具,它通过路由系统找到节点,发送ping消息,等待pong消息,并打印出往返延迟信息

go-filecoin swarm

操作集群

命令 作用
go-filecoin swarm connect ... 开启与指定地址的连接
go-filecoin swarm peers 列出拥有开放连接的端点

go-filecoin stats

显示你的网络使用统计,filecoin节点的多方面统计


actor相关


go-filecoin actor

操作actors(actor是内建的智能合约)

命令 功能
go-filecoin actor ls 列出本节点内所有的actor

go-filecoin paych

支付通道操作


消息相关


go-filecoin message

命令 功能
go-filecoin message send [] 向目标发送一条消息
go-filecoin message status 显示某条消息的状态
go-filecoin message wait 等待消息出现在已挖掘的块中
go-filecoin message send命令参数
参数 类型 说明
--value string 随消息一起发送的值,单位FIL
--from string 消息来源地址
--gas-price string 挖掘本消息消耗的每个Gas单位支付的价格
--gas-limit uint64 本消息被允许消耗的最大Gas单位
--preview bool 预览本条命令的全部Gas支出而不实际执行

消息管理

go-filecoin mpool

管理消息池

命令 功能
go-filecoin mpool ls 查看消息池
go-filecoin mpool rm 从消息池中删除一条消息
go-filecoin mpool show 显示消息信息
go-filecoin outbox

管理出站的消息队列

命令 功能
go-filecoin outbox clear [] 清除已发消息队列
go-filecoin outbox ls [] 列出已发送但未被挖掘的消息

其它工具


go-filecoin inspect

显示本filecoin节点的信息

命令 功能
go-filecoin inspect all 打印所有诊断信息
go-filecoin inspect config 打印内存里的配置信息
go-filecoin inspect disk 打印文件系统使用信息
go-filecoin inspect environment 打印filecoin环境信息
go-filecoin inspect memory 打印内存使用信息
go-filecoin inspect runtime 打印运行时诊断信息

操作示例:

$ go-filecoin inspect disk
Free:  	72007196672
Total: 	67017863168
FSType:	25

go-filecoin leb128

leb128控制台编/解码

命令 功能
go-filecoin leb128 decode 解码 leb128
go-filecoin leb128 encode 编码 leb128

操作示例:

$ go-filecoin leb128 encode 20191102
go-filecoin log

go-filecoin 操作守护进程事件日志输出

命令 功能
go-filecoin log level 更改日志级别
go-filecoin log ls 列出日志子系统
go-filecoin log tail 读取事件日志
操作示例
$ go-filecoin log ls
lock
stream-upgrader
autorelay
commands/log
blockservice
miner-actor
providers
addrutil
...

go-filecoin protocol

显示协议参数的细节

$ go-filecoin protocol
Network: alpha2
Auto-Seal Interval: 120 seconds
Sector Sizes:
	256.00 MiB (254.00 MiB writeable)

go-filecoin version

显示go-filecoin版本信息

$ go-filecoin version
commit: 781f2caf7ef3c8b5e0c057f59e29af7d82461763