bellman/README.md

34 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2017-06-19 10:31:32 -07:00
# bellman [![Crates.io](https://img.shields.io/crates/v/bellman.svg)](https://crates.io/crates/bellman) #
2015-12-24 02:19:30 -08:00
2019-09-24 02:53:52 -07:00
`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.
2020-08-22 03:57:27 -07:00
`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.
2019-09-24 02:53:52 -07:00
## Roadmap
2020-08-22 03:57:27 -07:00
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.
2017-03-13 19:28:56 -07:00
## License
Licensed under either of
2019-09-24 02:53:52 -07:00
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
2017-03-13 19:28:56 -07:00
* 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.