Go to file
Deirdre Connolly b9737fc0e8 Random z MUST be {1..2^128-1}, so we loop in case we (rarely) randomly generate a zero 2021-02-05 15:12:10 -05:00
.github/workflows Bump MSRV to 1.47.0 2021-01-26 21:14:43 +00:00
benches Mark rng as &mut in closure 2021-02-04 19:11:11 -05:00
src Random z MUST be {1..2^128-1}, so we loop in case we (rarely) randomly generate a zero 2021-02-05 15:12:10 -05:00
tests Add groth16 batch verify test and benchmarks 2021-02-01 00:24:51 -05:00
.gitignore Initial commit 2015-12-24 02:58:38 -07:00
CHANGELOG.md bellman 0.9.0 2021-01-26 21:41:47 +00:00
COPYRIGHT Make license files/copyright identical to `pairing` crate. 2017-11-12 15:56:03 -07:00
Cargo.toml Add groth16 batch verify test and benchmarks 2021-02-01 00:24:51 -05:00
LICENSE-APACHE Make license files/copyright identical to `pairing` crate. 2017-11-12 15:56:03 -07:00
LICENSE-MIT Make license files/copyright identical to `pairing` crate. 2017-11-12 15:56:03 -07:00
README.md bellman 0.7.0 2020-08-25 23:11:18 +01:00

README.md

bellman Crates.io

bellman is a crate for building zk-SNARK circuits. It provides circuit traits and primitive structures, as well as basic gadget implementations such as booleans and number abstractions.

bellman uses the ff and group crates to build circuits generically over a scalar field type, which is used as the "word" of a circuit. Arithmetic operations modulo the scalar field's prime are efficient, while other operations (such as boolean logic) are implemented using these words.

Roadmap

Currently bellman bundles an implementation of the Groth16 proving system. This will be moved into a separate crate in the future, and bellman will contain any utilities that make implementing proving systems easier.

License

Licensed under either of

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.