nulven / zk-message-board

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

“Invalid Proof” attempting to build hash-check-bits

dysbulic opened this issue · comments

I have reworked the build script and updated Circom to v2. Now the verification of hash-check-bits returns “Invalid Proof”.

The commands being run are:

  • circom "circuits/hash-check-bits/circuit.circom" --r1cs --wasm --sym
  • npx snarkjs r1cs info "build/circuits/hash-check-bits/circuit.r1cs"
  • npx snarkjs groth16 setup "build/circuits/hash-check-bits/circuit.r1cs" "build/ptaus/pot20_final.ptau" "build/keys/hash-check-bits/circuit_0000.zkey"
  • npx snarkjs zkey contribute "build/keys/hash-check-bits/circuit_0000.zkey" "build/keys/hash-check-bits/circuit.zkey" --name="First Contribution" -e="1636810974283"
  • npx snarkjs zkey export verificationkey "build/keys/hash-check-bits/circuit.zkey" "build/keys/hash-check-bits/verification_key.json"
  • node "build/circuits/hash-check-bits/circuit_js/generate_witness.js" "build/circuits/hash-check-bits/circuit_js/circuit.wasm" "circuits/hash-check-bits/input.json" "build/circuits/hash-check-bits/witness.wtns"
  • npx snarkjs groth16 prove "build/keys/hash-check-bits/circuit.zkey" "build/circuits/hash-check-bits/witness.wtns" "build/circuits/hash-check-bits/proof.json" "build/circuits/hash-check-bits/public.json"
  • npx snarkjs groth16 verify "build/keys/hash-check-bits/verification_key.json" "build/circuits/hash-check-bits/public.json" "build/circuits/hash-check-bits/proof.json"

I'm not 100% sure, but I know there are a number of differences between v1 and v2 so the circuits will not work off the bat -- for instance, public and private variables need different keywords now, and public variables must be passed in through a constructor. Did you make those changes when you updated the circuits to v2?