Chia's proof of space is written in C++. Includes a plotter, prover, and
verifier. It exclusively runs on 64 bit architectures. Read the
Proof of Space document to
learn about what proof of space is and how it works.
Testings uses pytest. Linting uses flake8 and mypy.
py.test ./tests -s -v
The primary build process for this repository is to use GitHub Actions to
build binary wheels for MacOS, Linux (x64 and aarch64), and Windows and publish
them with a source wheel on PyPi. See .github/workflows/build.yml. CMake uses
to download pybind11. Building is then
managed by cibuildwheel. Further
installation is then available via pip install chiapos e.g.
Contributing and workflow
Contributions are welcome and more details are available in chia-blockchain's
The main branch is usually the currently released latest version on PyPI.
Note that at times chiapos will be ahead of the release version that
chia-blockchain requires in it's main/release version in preparation for a
new chia-blockchain release. Please branch or fork main and then create a
pull request to the main branch. Linear merging is enforced on main and
merging requires a completed review. PRs will kick off a GitHub actions ci build
and analysis of chiapos at
make sure your build is passing and that it does not increase alerts at lgtm.