be99d3a1fd | ||
---|---|---|
.github/workflows | ||
src | ||
test-vectors | ||
tests | ||
.gitignore | ||
Cargo.toml | ||
README.md |
README.md
ark-circom
Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust.
Documentation
Clone the repository and run cd ark-circom/ && cargo doc --open
Add ark-circom to your repository
[dependencies]
ark-circom = { git = "https://github.com/gakonst/ark-circom-rs" }
Running the tests
Tests require the following installed:
solc
. We also recommend using solc-select for more flexibility.ganache-cli
Features
- Witness generation using Circom's WASM witness code
- ZKey parsing into Arkworks Proving Key over BN254
- Compatibility layer for Ethereum types, so that proofs can be used in Solidity verifiers
- Proof generations and verification using Arkworks
- CLI for common operations
Acknowledgements
This library would not have been possibly without the great work done in:
Special shoutout to Kobi Gurkan for all the help in parsing SnarkJS' ZKey file format.