空间绘图、证明和验证的CHIA-证明(包装C++)

chiapos的Python项目详细描述


空间证明

BuildPyPIPyPI - FormatGitHub

Total alertsLanguage grade: PythonLanguage grade: C/C++

< 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上增加警报。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像