Skip to content

Commit

Permalink
update README (#113)
Browse files Browse the repository at this point in the history
* bump plonkit version

* update readme
  • Loading branch information
0xmountaintop authored Oct 6, 2021
1 parent 6bc7463 commit 1e58163
Showing 1 changed file with 34 additions and 8 deletions.
42 changes: 34 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ A zkSNARK toolkit to work with [circom](https://github.com/iden3/circom) zkSNARK
+ [x] Proof verification
+ [x] Solidity verifier generation
+ [x] Local key setup for developement
+ [x] Proof Aggregation

## Usage examples

Expand All @@ -35,13 +36,18 @@ FLAGS:
-V, --version Prints version information

SUBCOMMANDS:
dump-lagrange Dump "SRS in lagrange form" from a "SRS in monomial form"
export-verification-key Export verifying key
generate-verifier Generate verifier smart contract
help Prints this message or the help of the given subcommand(s)
prove Generate a SNARK proof
setup Trusted locally set up Plonk universal srs in monomial form
verify Verify a SNARK proof
analyse Analyse the circuit and output some stats
check-aggregation Check proofs aggregation
dump-lagrange Dump "SRS in lagrange form" from a "SRS in monomial form"
export-recursive-verification-key Export Recursive verifying key
export-verification-key Export verifying key
generate-verifier Generate verifier smart contract
help Prints this message or the help of the given subcommand(s)
prove Generate a SNARK proof
recursive-prove Aggregate multiple proofs
recursive-verify Verify recursive proof
setup Trusted locally set up Plonk universal srs in monomial form
verify Verify a SNARK proof

# Getting help for a subcommand
> plonkit prove --help
Expand Down Expand Up @@ -97,7 +103,7 @@ Proof is correct
circuit.circom circuit.r1cs circuit.sym circuit.wasm input.json proof.bin proof.json public.json setup_2^20.key verifier.sol vk.bin witness.wtns
```
Moreover, if you want to set up a SRS locally for testing, you can make use of `setup` subcommand:
If you want to set up a SRS locally for testing, you can make use of `setup` subcommand:
```
plonkit-setup
Expand All @@ -117,6 +123,26 @@ OPTIONS:
You may also want to manually edit and lower down `plonk::SETUP_MIN_POW2` in the codes to fast generate a relatively small-sized SRS.
Moreover, you can make use of the `analyse` subcommand to print out the statistics of a circuit (num of inputs, num of constraints, num of gates...):
```
plonkit-analyse
Analyse the circuit and output some stats

USAGE:
plonkit analyse [OPTIONS]

FLAGS:
-h, --help Prints help information
-V, --version Prints version information

OPTIONS:
-c, --circuit <circuit> Circuit R1CS or JSON file [default: circuit.r1cs|circuit.json]
-o, --output <output> Output file [default: analyse.json]
```
### Proof Aggregation
Plonkit also supports Proof Aggregation. You can aggregate multiple proofs into one, see [test_poseidon_plonk_recursive.sh](./test/test_poseidon_plonk_recursive.sh) for a workflow example.
## Installation
Install Rust
Expand Down

0 comments on commit 1e58163

Please sign in to comment.