arnaucube
arnaucube/go-circom-prover-verifierPublic Self-hosted repository
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