nim-groth16/test_proof.nim

26 lines
661 B
Nim
Raw Normal View History

2023-11-11 13:35:13 +01:00
import ./groth16
import ./witness
import ./zkey
import ./zkey_types
#-------------------------------------------------------------------------------
2023-11-11 14:37:31 +01:00
proc testProveAndVerify*( zkey_fname, wtns_fname: string): Proof =
2023-11-11 13:35:13 +01:00
echo("parsing witness & zkey files...")
let witness = parseWitness( wtns_fname)
let zkey = parseZKey( zkey_fname)
echo("generating proof...")
2023-11-11 14:37:31 +01:00
let vkey = extractVKey( zkey)
let proof = generateProof( zkey, witness )
2023-11-11 13:35:13 +01:00
echo("verifying the proof...")
2023-11-11 14:37:31 +01:00
let ok = verifyProof( vkey, proof)
2023-11-11 13:35:13 +01:00
echo("verification succeeded = ",ok)
2023-11-11 14:37:31 +01:00
return proof
2023-11-11 13:35:13 +01:00
#-------------------------------------------------------------------------------