各种图文件的有效性检测

图文件按照新旧协议有:老图、新图
按照官方和第三方私有图格式分为:官方图、giga图、nossd图
按照是否压缩分为:原图、压缩图

各种图的有效性检测方法不太一样,下面教大家如何检测这些图的有效性。

官方图的有效性检测

官方的不管是原图还是压缩图,都是一样的检测方式,使用命令: chia plots check -g 图文件名(支持模糊匹配)

检查一个有效的官方原图示例:

假设要检测的图文件是:
N:\Emerald_Grouse\plot-k32-2021-08-16-04-36-ce4ea0bf344cf3cfd29d4559c28e1522625b05e40477345886e61f5abd291cec.plot

在奇亚官方客户端执行命令:chia plots check -g ce4ea0bf344cf3cfd29d4559c28e152262
执行前要确保该图所在目录已经添加到了奇亚中,添加命令是:chia plots add -d N:\Emerald_Grouse

命令执行结果分析:

event: done, loaded 1 plots, 0 remaining 这一行说明从农田目录中找到了1个匹配的图。
Starting to test each plot with 30 challenges each 这一行说明要对该图进行30次模拟挖矿寻找证明的过程
Proofs 35 / 30, 1.1667 这一行说明测试30次找到了35个证明,图质量是1.1667
Found 1 valid plots, total size 0.09896 TiB 这一行说明本次执行命令总共发现了1个有效的图

这些结果说明该图是有效的图。

C:\Users\admin\AppData\Local\Programs\Chia\resources\app.asar.unpacked\daemon>chia plots check -g ce4ea0bf344cf3cfd29d4559c28e152262
2023-06-13T15:40:40.276  chia.plotting.check_plots        : INFO     Loading plots in config.yaml using plot_manager loading code (parallel read: True)

2023-06-13T15:40:40.556  chia.plotting.cache              : INFO     Loaded 1001 bytes of cached data
2023-06-13T15:40:40.557  chia.plotting.cache              : INFO     Parsed 1 cache entries in 0.00s
2023-06-13T15:40:40.705  chia.plotting.check_plots        : INFO     event: started, loaded 0 plots, 1648 remaining
2023-06-13T15:40:40.713  chia.plotting.manager            : INFO     Only loading plots that contain "ce4ea0bf344cf3cfd29d4559c28e152262" in the file or directory name
2023-06-13T15:40:40.739  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 1348 remaining
2023-06-13T15:40:40.739  chia.plotting.manager            : INFO     Only loading plots that contain "ce4ea0bf344cf3cfd29d4559c28e152262" in the file or directory name
2023-06-13T15:40:40.763  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 1048 remaining
2023-06-13T15:40:40.763  chia.plotting.manager            : INFO     Only loading plots that contain "ce4ea0bf344cf3cfd29d4559c28e152262" in the file or directory name
2023-06-13T15:40:40.788  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 1 plots, 748 remaining
2023-06-13T15:40:40.788  chia.plotting.manager            : INFO     Only loading plots that contain "ce4ea0bf344cf3cfd29d4559c28e152262" in the file or directory name
2023-06-13T15:40:40.838  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 448 remaining
2023-06-13T15:40:40.839  chia.plotting.manager            : INFO     Only loading plots that contain "ce4ea0bf344cf3cfd29d4559c28e152262" in the file or directory name
2023-06-13T15:40:40.866  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 148 remaining
2023-06-13T15:40:40.866  chia.plotting.manager            : INFO     Only loading plots that contain "ce4ea0bf344cf3cfd29d4559c28e152262" in the file or directory name
2023-06-13T15:40:40.881  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 0 remaining
2023-06-13T15:40:40.882  chia.plotting.check_plots        : INFO     event: done, loaded 1 plots, 0 remaining
2023-06-13T15:40:41.897  chia.plotting.check_plots        : INFO
2023-06-13T15:40:41.897  chia.plotting.check_plots        : INFO
2023-06-13T15:40:41.900  chia.plotting.check_plots        : INFO     Starting to test each plot with 30 challenges each

2023-06-13T15:40:41.902  chia.plotting.check_plots        : INFO     Testing plot N:\Emerald_Grouse\plot-k32-2021-08-16-04-36-ce4ea0bf344cf3cfd29d4559c28e1522625b05e40477345886e61f5abd291cec.plot k=32
2023-06-13T15:40:41.903  chia.plotting.check_plots        : INFO        Pool contract address:  xch1m4a6kfclg9u4vfjrqh8l632nexg3dgj4qn3lrnsygqzuf69f2smq3qg8xg
2023-06-13T15:40:41.912  chia.plotting.check_plots        : INFO        Farmer public key:      89f503ccdd9635d4c29e9bda2b9381d25a8518ea18012ea6c755273cee2fad6fd2b5d5b18caecfe7e87e9a529224d8a5
2023-06-13T15:40:41.913  chia.plotting.check_plots        : INFO        Local sk:               <PrivateKey 10cee5baf8c0c6731a390c582de41b4dc7cecf7d038dd3dd10e4063e4f7d0313>
2023-06-13T15:40:41.998  chia.plotting.check_plots        : INFO        Looking up qualities took: 70 ms.
2023-06-13T15:40:42.034  chia.plotting.check_plots        : INFO        Finding proof took: 35 ms
。。。 中间省略30行查找证明的过程
2023-06-13T15:40:56.760  chia.plotting.check_plots        : INFO        Proofs 35 / 30, 1.1667
2023-06-13T15:40:56.762  chia.plotting.check_plots        : INFO
2023-06-13T15:40:56.764  chia.plotting.check_plots        : INFO
2023-06-13T15:40:56.764  chia.plotting.check_plots        : INFO     Summary
2023-06-13T15:40:56.765  chia.plotting.check_plots        : INFO     Found 1 valid plots, total size 0.09896 TiB
2023-06-13T15:40:56.766  chia.plotting.check_plots        : INFO     1 plots of size 32

检查一个无效的图示例

本次依然用官方奇亚命令检测一个giga的压缩图,官方客户端是不可能识别这个图的,观察它的执行结果。

命令执行结果分析:
ERROR Failed to open file I:\Emerald_Grouse\plot-k32-c8-2023-05-04-13-33-c... 这一行明确报警无法打开图文件,无效的图文件格式,因为giga的图是私有格式官方客户端无法识别。

C:\Users\admin\AppData\Local\Programs\Chia\resources\app.asar.unpacked\daemon>chia plots check -g 7a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7f
2023-06-13T15:49:11.713  chia.plotting.check_plots        : INFO     Loading plots in config.yaml using plot_manager loading code (parallel read: True)

2023-06-13T15:49:12.021  chia.plotting.cache              : INFO     Loaded 1001 bytes of cached data
2023-06-13T15:49:12.022  chia.plotting.cache              : INFO     Parsed 1 cache entries in 0.00s
2023-06-13T15:49:12.177  chia.plotting.check_plots        : INFO     event: started, loaded 0 plots, 1648 remaining
2023-06-13T15:49:12.184  chia.plotting.manager            : INFO     Only loading plots that contain "7a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7f" in the file or directory name
2023-06-13T15:49:12.224  chia.plotting.manager            : ERROR    Failed to open file I:\Emerald_Grouse\plot-k32-c8-2023-05-04-13-33-c946dcac097a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7fee679552f2092b4e.plot. Invalid plot file format Traceback (most recent call last):
  File "chia\plotting\manager.py", line 274, in process_file
ValueError: Invalid plot file format

2023-06-13T15:49:12.230  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 1348 remaining
2023-06-13T15:49:12.230  chia.plotting.manager            : INFO     Only loading plots that contain "7a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7f" in the file or directory name
2023-06-13T15:49:12.256  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 1048 remaining
2023-06-13T15:49:12.256  chia.plotting.manager            : INFO     Only loading plots that contain "7a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7f" in the file or directory name
2023-06-13T15:49:12.286  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 748 remaining
2023-06-13T15:49:12.287  chia.plotting.manager            : INFO     Only loading plots that contain "7a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7f" in the file or directory name
2023-06-13T15:49:12.347  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 448 remaining
2023-06-13T15:49:12.348  chia.plotting.manager            : INFO     Only loading plots that contain "7a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7f" in the file or directory name
2023-06-13T15:49:12.377  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 148 remaining
2023-06-13T15:49:12.378  chia.plotting.manager            : INFO     Only loading plots that contain "7a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7f" in the file or directory name
2023-06-13T15:49:12.397  chia.plotting.check_plots        : INFO     event: batch_processed, loaded 0 plots, 0 remaining
2023-06-13T15:49:12.397  chia.plotting.check_plots        : INFO     event: done, loaded 0 plots, 0 remaining
2023-06-13T15:49:13.400  chia.plotting.check_plots        : INFO
2023-06-13T15:49:13.401  chia.plotting.check_plots        : INFO
2023-06-13T15:49:13.404  chia.plotting.check_plots        : INFO     Summary
2023-06-13T15:49:13.405  chia.plotting.check_plots        : INFO     Found 0 valid plots, total size 0.00000 TiB
2023-06-13T15:49:13.406  chia.plotting.check_plots        : WARNING  1 invalid plots found:
2023-06-13T15:49:13.407  chia.plotting.check_plots        : WARNING      1 unopenable plots:
2023-06-13T15:49:13.407  chia.plotting.check_plots        : WARNING  I:\Emerald_Grouse\plot-k32-c8-2023-05-04-13-33-c946dcac097a9a37da5d2a0918ccc9dc2c6a1d37d7c1db7fee679552f2092b4e.plot

GigaHorse的图有效性检测

跟官方的检测方法完全一样,只是检测程序要使用giga的钱包程序。

NoSSD的图检测

nossd的检测略麻烦,它不能指定要检测的某个图,只能整个目录进行检测;如果想检测某一个图提前将图剪切到一个独立的文件夹中。

检测示例:
假如待检测的图所在目录是:D:\plot

执行命令:client.exe --no-plotting --no-finalizing --no-benchmark --check-plot -d D:\plot
--no-plotting 本次执行命令如果磁盘有足够空间不要进行P图
--no-finalizing 本次执行命令如果目录里面有spt不要对它们进行压缩
--no-benchmark 本次执行命令不要运行CPU性能评估
--check-plot 检测图有效性
-d 图所在目录

执行结果分析请看【】中的内容。

C:\Users\admin\Desktop\nossd\v1.3.1>client.exe --no-plotting --no-finalizing --no-benchmark --check-plot -d I:\Emerald_Grouse\test
NoSSDChiaPool version 1.3

Directories summary:

--- "I:\Emerald_Grouse\test" ---
1 plot (CL5) without public key   【 只有1个c5的压缩图 ,without public key 说明该图没有密码,直接可以用来挂盘。】
(295.31 GiB available)          【该磁盘有295.31 GiB空间可用】

Total plots: 1
Mineable plots: 1

16:11:19 Start testing "I:\Emerald_Grouse\test\0FF3...6D74.fpt"   【开始检测这个图】
16:11:29 Test passed   【该图检测通过】
16:11:29 No more plotting, finalization or testing required  【本次执行命令已经没有任何工作需要进行,退出】