Fix prover benchmark file paths, update readme, and other small updates
arnaucube root@arnaucube.com
Wed, 29 Apr 2020 10:27:31 +0200
4 files changed,
10 insertions(+),
8 deletions(-)
M
README.md
→
README.md
@@ -1,6 +1,6 @@
# go-circom-prover-verifier [](https://godoc.org/github.com/iden3/go-circom-prover-verifier) [](https://goreportcard.com/report/github.com/iden3/go-circom-prover-verifier) [](https://github.com/iden3/go-circom-prover-verifier/actions?query=workflow%3ATest) -Experimental Go implementation of the [Groth16 protocol](https://eprint.iacr.org/2016/260.pdf) zkSNARK prover & verifier compatible with [circom](https://github.com/iden3/circom). +Go implementation of the [Groth16 protocol](https://eprint.iacr.org/2016/260.pdf) zkSNARK prover & verifier compatible with [circom](https://github.com/iden3/circom). Using [bn256](https://github.com/ethereum/go-ethereum/tree/master/crypto/bn256/cloudflare) (used by [go-ethereum](https://github.com/ethereum/go-ethereum)) for the Pairing curve operations.@@ -82,9 +82,9 @@ ```
- Prove ``` -> go run cli.go -prove -provingkey=../testdata/small/proving_key.json -witness=../testdata/small/witness.json +> go run cli.go -prove -provingkey=../testdata/circuit5k/proving_key.json -witness=../testdata/circuit5k/witness.json ``` - Verify ``` -> go run cli.go -verify -verificationkey=../testdata/small/verification_key.json +> go run cli.go -verify -verificationkey=../testdata/circuit5k/verification_key.json ```
M
cli/cli.go
→
cli/cli.go
@@ -5,6 +5,7 @@ "encoding/json"
"flag" "fmt" "io/ioutil" + "os" "time" "github.com/iden3/go-circom-prover-verifier/parsers"@@ -34,15 +35,15 @@ err := cmdProve(*provingKeyPath, *witnessPath, *proofPath, *publicPath)
if err != nil { fmt.Println("Error:", err) } - return + os.Exit(0) } else if *verify { err := cmdVerify(*proofPath, *verificationKeyPath, *publicPath) if err != nil { fmt.Println("Error:", err) } - return + os.Exit(0) } - fmt.Println("use -help for the list of commands") + flag.PrintDefaults() } func cmdProve(provingKeyPath, witnessPath, proofPath, publicPath string) error {
M
prover/prover_test.go
→
prover/prover_test.go
@@ -61,12 +61,12 @@ }
func BenchmarkGenerateProof(b *testing.B) { // benchmark with a circuit of 10000 constraints - provingKeyJson, err := ioutil.ReadFile("../testdata/circuit1/proving_key.json") + provingKeyJson, err := ioutil.ReadFile("../testdata/circuit5k/proving_key.json") require.Nil(b, err) pk, err := parsers.ParsePk(provingKeyJson) require.Nil(b, err) - witnessJson, err := ioutil.ReadFile("../testdata/circuit1/witness.json") + witnessJson, err := ioutil.ReadFile("../testdata/circuit5k/witness.json") require.Nil(b, err) w, err := parsers.ParseWitness(witnessJson) require.Nil(b, err)
M
verifier/verifier.go
→
verifier/verifier.go
@@ -17,6 +17,7 @@ Delta *bn256.G2
IC []*bn256.G1 } +// Verify verifies the Groth16 zkSNARK proof func Verify(vk *types.Vk, proof *types.Proof, inputs []*big.Int) bool { if len(inputs)+1 != len(vk.IC) { fmt.Println("len(inputs)+1 != len(vk.IC)")