Chia(奇亚)命令行参数详解
Chia(奇亚)这个项目,在圈子里一直很有话题性。它的创始人Bram Cohen是BitTorrent的发明者,也是目前最顶尖的网络协议工程师之一,技术底子相当扎实。Chia推出的智能交易编程语言Chialisp,功能强大且注重安全性与可审计性。目前已经落地的智能交易场景包括原子交换、授权收款人、可恢复钱&包、多重签名钱&包以及限价单钱&包等,覆盖面已经相当可观。

接下来,我们就深入聊聊Chia命令行参数的具体用法。这部分内容是日常操作的核心,无论是启动节点、配置服务还是P盘,都离不开它。
Chia(奇亚)命令行参数详解
启动
命令:chia init
首先,它会扫描你的~/.chia目录,看看上面有没有安装过旧版本的Chia。如果有,init会自动完成迁移,把旧文件搬到新版本里来。具体迁移内容包括:config(含旧SSL证书)、db和wallet目录。
接着,init会加载config.yaml配置文件,更新钱&包密钥,并确保coinbase奖励能准确进入正确的钱&包地址。如果系统里没有旧版本,init会直接创建一套默认的Chia配置,同时初始化全新的SSL密钥和证书——这些证书主要用于和GUI之间的安全通信。
开启服务
命令:chia start {service}
举个例子:
chia start node 只会启动全节点;
chia start farmer 则会同时启动农夫、收割机、完整节点和钱&包。
service的可选参数包括:all, node, harvester, farmer, farmer-no-wlet, farmer-only, timelord, timelord-launcher-only, wallet, wallet-only, introducer, simulator。覆盖了几乎所有你可能会用到的场景。
P盘
命令:chia plots create [添加参数或赋值]。
参数说明如下:
-k [size]
-n [绘图数量]
-d,然后再启动下一个绘图序列。-b [内存缓冲区大小MiB]
-f [farmer 公钥]
chia keys show。-p [pool 公钥]
chia keys show。-a [fingerprint]
chia keys show。-t [tmp dir]
-t 路径需要的工作空间最大,通常是最终plot文件大小的4倍左右。-2 [tmp dir 2]
-2 可能默认与 -t 或 -d 相同路径。如果-t或-d空间吃紧,建议手动指定。-2 所需的工作空间与最终绘图文件大小相当。-d [final dir]
-d 必须留有足够空间来容纳最终文件。这个目录会被自动添加到 ~/.chia/VERSION/config/config.yaml 中。也可以用 chia plots remove -d 从配置里删除某个最终目录。-r [线程数]
-u [buckets数量]
-s [stripe size]
-e [bitfield plotting]
-e标志会禁用bitfield P盘算法,回退到旧的b17格式。这样能降低内存要求,但P盘时会多写入12%的数据。对于更快的驱动器(比如SSD),它通常被认为是一个更快的选项。示例
以下命令会创建一个k=32的P盘文件,并使用4GB(注意,不是GiB)内存:
chia plots create -k 32 -b 4000 -t /path/to/temporary/directory -d /path/to/final/directory
下面这个例子则创建一个k=34的图,使用8GB内存、2个线程和64个buckets:
chia plots create -k 34 -e -b 8000 -r 2 -u 64 -t /path/to/temporary/directory -d /path/to/final/directory
额外说明
在绘图过程中,第1阶段(正向传播)和第3阶段(压缩)通常是耗时最长的环节。因此,为了最大化绘图速度,-t 和 -2 应该放在最快的硬盘上,而 -d 放在慢速硬盘上也没有问题。
目前,绘图只使用1个CPU线程。所以,很多Chia用户会选择同时运行多个P盘程序来提升效率。
在SSD上P盘比在机械硬盘上快,这是事实。但另一方面,SSD的写入寿命有限,而且早期测试表明,在SSD上高强度P盘可能会很快耗尽它的寿命。因此,不少用户转而选择在多个机械硬盘上同时并行P盘,这种做法更“绿色”,也更经济。
P盘模式的设计原则是最大化工作效率。但为了防止无休止的算力攻击,农民不应该能够在平均爆块间隔内完成一个P盘文件。这就是主网上最小k-size是k32的原因。
P盘文件可用性校验
命令:chia plots check -n [num checks] -l -g [substring]
首先,它会在config.yaml配置文件中设置的所有plot目录里进行查找。你可以用chia plots show先确认这些目录。
-g
-g,则config.yaml中每个目录下的所有图都会被检查。使用-g的示例:
检查长目录名内的地块,例如/mnt/chia/DriveA:chia plots check -g DriveA
只检查k33地块:chia plots check -g k33
检查2020年10月31日创建的地块:chia plots check -g 2020-10-31
-l
config.yaml中列出的所有P盘文件保存目录,并列出所有文件名结尾相同的文件(格式为*-[64 char plot ID].plot)。如果只想检查重复文件,建议使用-l -n 0。-n
-n整数,默认值为30。例如,-n 30意味着每个P盘文件会被检测30个挑战。挑战数从5(最小)到-n,且不是随机生成的。每个P盘文件都会接受每个挑战:
- 获取挑战的质量(判断是否存在空间证明)。理论上,每个挑战预期会有1个证明,但实际可能获得0个或1个以上。
- 如果有证明,则获取该挑战的完整证明。
- 验证完整证明的数量与预期质量证明的数量是否一致。
最后,你会看到一份报告,内容是最终的真实证明与预期证明的对比。如果-n设为20,理论上会期望得到20个证明,具体取决于你的plot文件数量。
用 -n 10 或 -n 20 运行该命令适合快速检查,但信息量有限,不足以判断地块的真实质量。建议使用 -n 30 来获取更可靠的统计信息。
更多细节,可以查阅Chia官方在GitHub上的源码 chiapos 中的 DiskProver 命令。
full proofs与expected proofs的比值意味着什么?
如果比值>1,说明你的P盘文件在这次扫描中运气不错;比值<1,则代表幸运值相对偏低。不过,除非比值低到0.70以下,否则完全不必在意。理论上,比值>1的地块有更高概率在链上赢得挑战;比值<1的地块获胜可能性则稍微降低。但在实际运行中,这种影响几乎可以忽略不计。真正决定爆块概率的关键因素是“P盘文件数量”和“k-size”,而不是“每次挑战产生的证明数量”。所以,如果你看到检查比例小于1,只要不是明显偏低(比如0.5以下),完全不用焦虑。
-
- 网名带郑和霍字的网名女有哪些
- 角色扮演 | 1
- 网名