|
#!/bin/sh
|
|
|
|
npm install
|
|
|
|
compile_and_ts_and_witness() {
|
|
echo $(date +"%T") "circom circuit.circom --r1cs --wasm --sym"
|
|
itime="$(date -u +%s)"
|
|
../node_modules/.bin/circom circuit.circom --r1cs --wasm --sym
|
|
ftime="$(date -u +%s)"
|
|
echo " ($(($(date -u +%s)-$itime))s)"
|
|
|
|
echo $(date +"%T") "snarkjs info -r circuit.r1cs"
|
|
../node_modules/.bin/snarkjs info -r circuit.r1cs
|
|
|
|
echo $(date +"%T") "snarkjs setup"
|
|
itime="$(date -u +%s)"
|
|
../node_modules/.bin/snarkjs setup
|
|
echo " ($(($(date -u +%s)-$itime))s)"
|
|
echo $(date +"%T") "trusted setup generated"
|
|
|
|
sed -i 's/null/["0","0","0"]/g' proving_key.json
|
|
|
|
echo "calculating witness"
|
|
../node_modules/.bin/snarkjs calculatewitness --wasm circuit.wasm --input inputs.json --witness witness.json
|
|
|
|
echo $(date +"%T") "snarkjs generateverifier"
|
|
itime="$(date -u +%s)"
|
|
../node_modules/.bin/snarkjs generateverifier
|
|
echo " ($(($(date -u +%s)-$itime))s)"
|
|
echo $(date +"%T") "generateverifier generated"
|
|
}
|
|
|
|
echo "compile & trustesetup for circuit1k"
|
|
cd circuit1k
|
|
compile_and_ts_and_witness
|
|
echo "compile & trustesetup for circuit5k"
|
|
cd ../circuit5k
|
|
compile_and_ts_and_witness
|
|
# echo "compile & trustesetup for circuit10k"
|
|
# cd ../circuit10k
|
|
# compile_and_ts_and_witness
|
|
# echo "compile & trustesetup for circuit20k"
|
|
# cd ../circuit20k
|
|
# compile_and_ts_and_witness
|
|
|
|
cd ../
|
|
|
|
echo "convert witness & pk of circuit1k to bin & go bin"
|
|
node node_modules/wasmsnark/tools/buildwitness.js -i circuit1k/witness.json -o circuit1k/witness.bin
|
|
node node_modules/wasmsnark/tools/buildpkey.js -i circuit1k/proving_key.json -o circuit1k/proving_key.bin
|
|
go run ../cli/cli.go -convert -pk circuit1k/proving_key.json -pkbin circuit1k/proving_key.go.bin
|
|
|
|
echo "convert witness & pk of circuit5k to bin & go bin"
|
|
node node_modules/wasmsnark/tools/buildwitness.js -i circuit5k/witness.json -o circuit5k/witness.bin
|
|
node node_modules/wasmsnark/tools/buildpkey.js -i circuit5k/proving_key.json -o circuit5k/proving_key.bin
|
|
go run ../cli/cli.go -convert -pk circuit5k/proving_key.json -pkbin circuit5k/proving_key.go.bin
|
|
|
|
# echo "convert witness & pk of circuit10k to bin & go bin"
|
|
# node node_modules/wasmsnark/tools/buildwitness.js -i circuit10k/witness.json -o circuit10k/witness.bin
|
|
# node node_modules/wasmsnark/tools/buildpkey.js -i circuit10k/proving_key.json -o circuit10k/proving_key.bin
|
|
# go run ../cli/cli.go -convert -pk circuit10k/proving_key.json -pkbin circuit10k/proving_key.go.bin
|
|
#
|
|
# echo "convert witness & pk of circuit20k to bin & go bin"
|
|
# node node_modules/wasmsnark/tools/buildwitness.js -i circuit20k/witness.json -o circuit20k/witness.bin
|
|
# node node_modules/wasmsnark/tools/buildpkey.js -i circuit20k/proving_key.json -o circuit20k/proving_key.bin
|
|
# go run ../cli/cli.go -convert -pk circuit20k/proving_key.json -pkbin circuit20k/proving_key.go.bin
|
|
|