空间绘图、证明和验证的CHIA-证明(包装C++)
chiapos的Python项目详细描述
空间证明
< C++的空间证明是用C++编写的。包括绘图仪、校准器和 验证者。它只在64位体系结构上运行。阅读 Proof of Space document到 了解什么是空间证明以及它是如何工作的。在 C++用法说明< /H2>编译
# Requires cmake 3.14+
mkdir -p build &&cd build
cmake ../
cmake --build . -- -j 6
运行测试
^{pr2}$
CLI用法
./ProofOfSpace -k 25 -f "plot.dat" -m "0x1234" create
./ProofOfSpace -k 25 -f "final-plot.dat" -m "0x4567" -t TMPDIR -2 SECOND_TMPDIR create
./ProofOfSpace -f "plot.dat" prove <32 byte hex challenge>
./ProofOfSpace -k 25 verify <hex proof> <32 byte hex challenge>
./ProofOfSpace -f "plot.dat" check <iterations>
基准
time ./ProofOfSpace -k 25 create
Hellman攻击使用
有一个实验实现实现了一些Hellman 可以为最终文件节省大量空间的攻击。在
./HellmanAttacks -k 18 -f "plot.dat" -m "0x1234" create ./HellmanAttacks -f "plot.dat" check <iterations>
Python
最后,python绑定在python bindings目录中提供。在
安装
python3 -m venv .venv . .venv/bin/activate pip3 install .
运行python测试
测试使用pytest。Linting使用flake8和mypy。在
py.test ./tests -s -v
ci建筑
此存储库的主要构建过程是使用GitHub操作来
为MacOS、Linux(x64和aarch64)和Windows构建二进制控制盘并发布
他们在PyPi上有一个源轮。请参见.github/workflows/build.yml
。CMake用途
FetchContent
下载pybind11。建筑是那么回事
由cibuildwheel管理。进一步
然后可以通过pip install chiapos
进行安装,例如
贡献和工作流程
欢迎投稿,更多详情请访问chia区块链 CONTRIBUTING.md。在
主分支通常是PyPI上当前发布的最新版本。 请注意,chiapos有时会领先于发布版本 chia区块链需要在其主/发布版本中准备 新的chia区块链发布。请分支或分叉主节点,然后创建一个 将请求拉到主分支。在master和 合并需要完成审阅。PRs将启动GitHub actions ci构建 和对chiapos at的分析 lgtm.com。拜托 确保您的构建正在通过,并且不会在lgtm上增加警报。在
- 项目
标签: