Skip to content
A library for supporting zk-SNARKs to Substrate
Branch: master
Clone or download
Latest commit 51f0053 Feb 18, 2019

zk-proofs for substrate

This library supports for using zk-SNARKs on substrate and is implemented as an extension of librustzcash.

Primary purpose of this library is to be used with zero-chain. However, it is designed to be as flexible as possible and might be suited well for any other projects to use zk-SNARKs on Substrate.

In order to use the bellman-based zk-SNARKS on Substrate, following features are added to this library.

  • no_std compatible
  • some attributes (like Encode, Decode, etc...)for binary serialization and deserialization. (These codec is implemented as a parity-codec.)
  • Rng fixes to be compatible with wasm.

Security Warnings

These libraries are currently under development and have not been fully-reviewed.


All code in this workspace is licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You can’t perform that action at this time.