go-circom-prover-verifier/testdata/compile-circuits.sh
testdata/compile-circuits.shRaw
1#!/bin/sh
2
3npm install
4
5compile_and_ts_and_witness() {
6 echo $(date +"%T") "circom circuit.circom --r1cs --wasm --sym"
7 itime="$(date -u +%s)"
8 ../node_modules/.bin/circom circuit.circom --r1cs --wasm --sym
9 ftime="$(date -u +%s)"
10 echo " ($(($(date -u +%s)-$itime))s)"
11
12 echo $(date +"%T") "snarkjs info -r circuit.r1cs"
13 ../node_modules/.bin/snarkjs info -r circuit.r1cs
14
15 echo $(date +"%T") "snarkjs setup"
16 itime="$(date -u +%s)"
17 ../node_modules/.bin/snarkjs setup
18 echo " ($(($(date -u +%s)-$itime))s)"
19 echo $(date +"%T") "trusted setup generated"
20
21 sed -i 's/null/["0","0","0"]/g' proving_key.json
22
23 echo "calculating witness"
24 ../node_modules/.bin/snarkjs calculatewitness --wasm circuit.wasm --input inputs.json --witness witness.json
25
26 echo $(date +"%T") "snarkjs generateverifier"
27 itime="$(date -u +%s)"
28 ../node_modules/.bin/snarkjs generateverifier
29 echo " ($(($(date -u +%s)-$itime))s)"
30 echo $(date +"%T") "generateverifier generated"
31}
32
33echo "compile & trustesetup for circuit1k"
34cd circuit1k
35compile_and_ts_and_witness
36echo "compile & trustesetup for circuit5k"
37cd ../circuit5k
38compile_and_ts_and_witness
39# echo "compile & trustesetup for circuit10k"
40# cd ../circuit10k
41# compile_and_ts_and_witness
42# echo "compile & trustesetup for circuit20k"
43# cd ../circuit20k
44# compile_and_ts_and_witness
45
46cd ../
47
48echo "convert witness & pk of circuit1k to bin"
49node node_modules/wasmsnark/tools/buildwitness.js -i circuit1k/witness.json -o circuit1k/witness.bin
50node node_modules/wasmsnark/tools/buildpkey.js -i circuit1k/proving_key.json -o circuit1k/proving_key.bin
51
52echo "convert witness & pk of circuit5k to bin"
53node node_modules/wasmsnark/tools/buildwitness.js -i circuit5k/witness.json -o circuit5k/witness.bin
54node node_modules/wasmsnark/tools/buildpkey.js -i circuit5k/proving_key.json -o circuit5k/proving_key.bin
55
56# echo "convert witness & pk of circuit10k to bin"
57# node node_modules/wasmsnark/tools/buildwitness.js -i circuit10k/witness.json -o circuit10k/witness.bin
58# node node_modules/wasmsnark/tools/buildpkey.js -i circuit10k/proving_key.json -o circuit10k/proving_key.bin
59#
60# echo "convert witness & pk of circuit20k to bin"
61# node node_modules/wasmsnark/tools/buildwitness.js -i circuit20k/witness.json -o circuit20k/witness.bin
62# node node_modules/wasmsnark/tools/buildpkey.js -i circuit20k/proving_key.json -o circuit20k/proving_key.bin
63