Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust.
Go to file
Georgios Konstantopoulos be99d3a1fd docs: add readme 2021-07-26 18:01:22 +03:00
.github/workflows initial commit 2021-07-26 17:04:43 +03:00
src docs: add readme 2021-07-26 18:01:22 +03:00
test-vectors initial commit 2021-07-26 17:04:43 +03:00
tests refactor: rename circuit -> circom 2021-07-26 17:54:04 +03:00
.gitignore initial commit 2021-07-26 17:04:43 +03:00
Cargo.toml refactor: rename circuit -> circom 2021-07-26 17:54:04 +03:00
README.md docs: add readme 2021-07-26 18:01:22 +03:00

README.md

ark-circom

Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust.

Github Actions

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:

  1. solc. We also recommend using solc-select for more flexibility.
  2. 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.