👉 Refer to https://github.com/spacemeshos/protocol/blob/master/post.md for more information on Proof of Space-Time protocol.
Includes:
- initializing data:
- on CPU with scrypt-jane
- on GPU with OpenCL
- generating PoST
- verifying PoST
Bindgen is required to generate bindings to C for calling the scrypt-jane C library (indirect dependency from scrypt-jane-rs). It depends on clang. Follow these instructions to install it.
RandomX, that randomx-rs depends on, requires cmake. Follow these instructions to install it.
RandomX is known to misbehave, or even crash on arm64 Macs when using JIT. See this issue for details: tevador/RandomX#262.
The mitigation is to use an older Mac SDK (i.e. v12) to build. This repository CI uses MacOSX12.3.sdk by overriding SDKROOT
during build.