https://github.com/LayerXcom/bellman-substrate
A library for supporting zk-SNARKs to Substrate
https://github.com/LayerXcom/bellman-substrate
rust substrate zero-knowledge-proofs zk-snarks
Last synced: 27 days ago
JSON representation
A library for supporting zk-SNARKs to Substrate
- Host: GitHub
- URL: https://github.com/LayerXcom/bellman-substrate
- Owner: LayerXcom
- License: apache-2.0
- Created: 2019-02-15T00:39:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-23T09:49:04.000Z (over 3 years ago)
- Last Synced: 2025-09-18T22:34:04.770Z (about 2 months ago)
- Topics: rust, substrate, zero-knowledge-proofs, zk-snarks
- Language: Rust
- Homepage:
- Size: 4.08 MB
- Stars: 30
- Watchers: 3
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
- awesome-substrate - bellman-substrate, A library for supporting zk-SNARKs to Substrate
- awesome-substrate - bellman-substrate, A library for supporting zk-SNARKs to Substrate
README
# zk-proofs for substrate
This library supports for using zk-SNARKs on [substrate](https://github.com/paritytech/substrate) and is implemented as an extension of [librustzcash](https://github.com/zcash/librustzcash).
Primary purpose of this library is to be used with [zero-chain](https://github.com/LayerXcom/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](https://github.com/paritytech/parity-codec).)
- `Rng` fixes to be compatible with wasm.
## Security Warnings
These libraries are currently under development and have not been fully-reviewed.
## License
All code in this workspace is licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
### Contribution
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.