Skip to content

Rust implementation of POST proving

License

Notifications You must be signed in to change notification settings

minerdao/post-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

codecov

Rust implementation of PoST protocol

👉 Refer to https://github.com/spacemeshos/protocol/blob/master/post.md for more information on Proof of Space-Time protocol.

Includes:

  • initializing data:
  • generating PoST
  • verifying PoST

Build dependencies

Bindgen

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-rs

RandomX, that randomx-rs depends on, requires cmake. Follow these instructions to install it.

Troubleshooting

Crash on Mac arm64

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.

About

Rust implementation of POST proving

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 88.4%
  • C 11.6%