52 个版本 (34 个破坏性)

0.43.0 2024年7月18日
0.40.0 2024年6月24日
0.36.0 2024年3月18日
0.32.0 2023年12月13日
0.8.0-alpha.52020年3月24日

#5 in #pow

每月26次下载
用于 polkadot-sdk

GPL-3.0-or-later…

1MB
19K SLoC

Substrate的工证明共识。

要使用此引擎,您可能需要一个实现 PowAlgorithm 的结构体。然后,将结构体的实例以及其他必要的客户端引用传递给 import_queue 来设置队列。

此库还附带了一个异步挖掘工作线程,可以通过 start_mining_worker 函数启动。它返回一个工作线程句柄和未来。必须拉取未来。通过工作线程句柄,您可以通过 MiningWorker::metadata 拉取启动挖掘过程所需的元数据,然后在独立线程上进行实际的挖掘。最后,找到密封后,调用 MiningWorker::submit 来构建块。

PoW引擎的辅助存储只存储总难度。对于特定PoW算法的其他存储需求(例如每个特定块的实际难度),您可以在您的PowAlgorithm实现中参考客户端,并为辅助存储使用单独的前缀。也可以仅使用运行时作为存储,但不太推荐,因为它与轻客户端的兼容性不好。

许可协议:GPL-3.0-or-later WITH Classpath-exception-2.0

依赖项

~90MB
~1.5M SLoC