Windows 命令行使用

CLI安装位置

dir=~\AppData\Local\chia-blockchain\app-1.1.1\resources\app.asar.unpacked\daemon\chia.exe

cd %dir%

启动

.\chia init

首先,init会检查你的~/.chia目录下是否安装了旧版本的chia。

如果有,init会将这些旧文件迁移到新版本

包括:

  • config (包含旧的SSL证书)
  • db
  • wallet
  • 加载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]。定义绘图的大小。不同系统上的k大小和创建时间列表请查看:k大小对应的P盘文件规格
  • -n [绘图数量]。按顺序进行的绘图数量。一旦一个绘图完成,它将被移动到最终位置-d,然后再开始下一个绘图序列。
  • -b [内存缓冲区大小MiB]。定义内存/RAM使用量。默认值是2048 (2GiB)。更多的内存将略微提高绘图的速度。请记住,这只是分配给绘图算法的内存。运行钱包等将需要你的系统提供额外的内存。
  • -f [farmer 公钥]: 这是你的 “农民公钥”. 当你想在其他机器上创建P盘文件时,如果你不想给chia账户完整的访问权限,就可以使用这个密钥。要找到你的 Chia 农民公钥,请使用以下命令: chia keys show
  • -p [pool 公钥]。这是你的 “池公钥”. 当你想在其他机器上创建P盘文件时,如果你不想给chia账户完整的访问权限时,就可以使用它。要找到你的 Chia Pool 公钥,请使用下面的命令: chia keys show
  • -a [fingerprint]。这是用来选择农夫公钥和池子公钥的指纹。当你想从钥匙链中的多个钥匙中选择一个时,请使用这个命令。要找到你的 Chia 密钥指纹,请使用以下命令: chia keys show
  • -t [tmp dir]。定义P盘时的临时目录。这里是P盘的第一阶段和第二阶段需要使用。-t 路径需要最大的工作空间:通常是最终plot文件大小的 4 倍左右。
  • -2 [tmp dir 2]: 定义一个次要的临时目录,用于存放P盘临时文件。这是绘图阶段3(压缩)和阶段4(检查)发生的地方。根据您的操作系统,-2可能默认为-t-d的相同路径。因此,如果-t-d的空间不足,建议手动设置-2-2 路径需要的工作空间与绘图的最终大小相等。
  • -d [final dir]: 定义存储plot文件的最终位置。当然,-d 应该有足够的可用空间作为Plot文件的最终大小。这个目录会自动添加到 ~/.chia/VERSION/config/config.yaml 文件中。你可以使用 chia plots remove -d 从配置中删除一个最终目录。
  • -r [线程数]: 2线程通常是最佳的。多线程目前只在P盘第一阶段使用。
  • -u [buckets数量]。更多的数据包可以减少对内存的需求,但需要更多的随机磁盘搜索。对于机械磁盘,你需要设置更少的buckets,而对于NVMe固态硬盘,你可以设置更多的buckets。一般来说,你可以设置32、64或128(默认)
  • -s [stripe size]。这是在第一阶段进行并行工作负载时,交给每个线程的数据量。默认的64K似乎是整体的最佳选择。32K往往是小损失,128K也是小损失。
  • -e [bitfield plotting]。使用-e标志将禁用bitfield P盘算法,并恢复到旧的b17的P盘格式。它降低了对内存的要求,但在P盘时时也会多写12%的数据。它通常被认为是一个更快的选项,适用于更快的驱动器,如SSD。

Example

  • 下面的例子将创建一个 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
  • 下面的例子将创建五个 k=32 的P盘文件顺序运行,并使用 4GB (注意 – 不是GiB) 的内存。
chia plots create -k 32 -b 4000 -t /path/to/temporary/directory -d /path/to/final/directory -n 5

额外说明

在绘图过程中,第1阶段(正向传播)和第3阶段(压缩)往往花费的时间最多。因此,为了最大限度地提高绘图速度,-t和-2应该放在最快的硬盘上,而-d可以放在慢速硬盘上。

目前,绘图只使用1个CPU线程。因此,大多数Chia用户认为同时运行多个P盘程序可以显著提升效率。

在SSD固态硬盘上P盘比在机械硬盘上更快,这是客观存在的。然而,SSD的寿命明显有限,而且早期的Chia测试似乎表明,在SSD上P盘很快就会耗尽它们。因此,许多Chia用户决定在多个机械硬盘上同时并行P盘更 “绿色”。

P盘模式的设计是为了尽可能提高工作效率。然而,为了防止无休止算力攻击,农民不应该能够在平均爆块间隔内P好一个P盘文件。这就是为什么在主网上最小的k-size是k32。

How Plots are created

Creating a plot is time consuming with an average of 9-20 hours on a normal computer and 4-8 hours on a high end machine. There are 4 phases that does operations in 7 tables.

Phases:

  1. Computing tables 1 to 7: It creates the buckets (default: 128) as files on your temp directory, when the 7 tables are computed the plot time progress is about 42 %
  2. Back propagation tables 7 to 1: When the 7 tables are back propagated the plot time progress is about 61 %
  3. Compression of tables 1 to 7 in pairs: When the 7 tables are compressed the plot time progress is about 98 %
  4. Write checkpoint tables: Transfers your plot to your permanent drive. It will delete all the files in your temp storage and this completes the progress to 100 %
Phase Step % Progress
1 Computing table 1 1%
1 Computing table 2 6%
1 Computing table 3 12%
1 Computing table 4 20%
1 Computing table 5 28%
1 Computing table 6 36%
1 Computing table 7 42%
2 Backpropagating on table 7 43%
2 Backpropagating on table 6 48%
2 Backpropagating on table 5 51%
2 Backpropagating on table 4 55%
2 Backpropagating on table 3 58%
2 Backpropagating on table 2 61%
3 Compressing tables 1 and 2 66%
3 Compressing tables 2 and 3 73%
3 Compressing tables 3 and 4 79%
3 Compressing tables 4 and 5 85%
3 Compressing tables 5 and 6 92%
3 Compressing tables 6 and 7 98%
4 Write checkpoint tables 100%

P盘文件可用性校验

chia plots check -n [num checks] -l -g [substring]

首先将在你的config.yaml配置文件中所设置的所有plot目录中查找。你可以用chia plots show检查这些目录。

  • -g 只检查 [substring] 目录或文件名包含大小写敏感的P盘文件。如果没有指定 -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 允许你通过 ID 查找重复的P盘文件。它检查config.yaml中列出的所有P盘文件保存目录,并列出所有以相同文件名结尾的绘图文件名; *-[64 char plot ID].plot。如果你只想检查重复的文件,你应该使用-l -n 0
  • -n 代表给出的challenges数量。如果你不包含-n整数,默认为30。例如,如果-n设置30,那么每个P盘文件将被检测30个challenges。challenges数从5(最小)到-n,而且不是随机的。

每个P盘文件都会接受每个挑战:

  • 获取challenges的质量(是否有空间证明?你应该期望每个challenges有1个证明,但也可能有0个或1个以上的证明。)
  • 如果有证明,则获得该challenges的完整证明。
  • 验证完整校样的数量与预期质量校样的数量是否一致。

最后,你会看到一份报告,是最终的真实证明与预期证明的对比。

因此,如果-n是20,你会期望有20个证明,这取决于你的plot文件有多少。

使用 -n 10 或 -n 20 运行该命令对于一个非常小的检查来说是很好的,但实际上并不能给你提供很多信息,让你知道这些地块是否真的是高质量的。

可以考虑使用-n 30来获得更好的统计信息。

更多细节,您可以阅读 chiapos https://github.com/Chia-Network/chiapos/blob/master/src/prover_disk.hpp 中的 DiskProver 命令。

full proofs与expected proofs的比率意味着什么?

  • 如果比率>1,说明你的P盘文件在这次的扫盘中比较幸运。
  • 如果比率<1,你的P盘文件相对幸运值较低。
  • 除非你的比值<0.70,否则你不应该真正关心这个问题。

理论上,比率>1的地块更有可能在区块链上赢得挑战。同样,比率<1的P盘文件获胜的可能性也会降低。然而,在实践中,这其实并不会有明显的影响。”P盘文件数量 “和 “k-size “在赢得爆块的影响因素要比 “每次挑战产生的证明 “大得多。因此,如果你的P盘文件检查比例小于1,不要担心,除非它们明显小于1。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注