miksi-core/compile-circuits.sh
compile-circuits.shRaw
1#!/bin/sh
2
3# npm install
4rm -r build
5mkdir build
6cd build
7
8echo $(date +"%T") "circom ../circuits/withdraw.circom --r1cs --wasm --sym"
9itime="$(date -u +%s)"
10../node_modules/.bin/circom ../circuits/withdraw.circom --r1cs --wasm --sym
11ftime="$(date -u +%s)"
12echo " ($(($(date -u +%s)-$itime))s)"
13
14echo $(date +"%T") "snarkjs info -r withdraw.r1cs"
15../node_modules/.bin/snarkjs info -r withdraw.r1cs
16
17echo $(date +"%T") "snarkjs setup"
18itime="$(date -u +%s)"
19../node_modules/.bin/snarkjs setup -r withdraw.r1cs
20echo " ($(($(date -u +%s)-$itime))s)"
21echo $(date +"%T") "trusted setup generated"
22
23# sed -i 's/null/["0","0","0"]/g' proving_key.json
24
25
26echo $(date +"%T") "snarkjs generateverifier"
27itime="$(date -u +%s)"
28../node_modules/.bin/snarkjs generateverifier
29echo " ($(($(date -u +%s)-$itime))s)"
30echo $(date +"%T") "generateverifier generated"
31
32sed -i "s/solidity ^0.5.0/solidity ^0.6.0/g" verifier.sol
33sed -i "s/gas/gas()/g" verifier.sol
34sed -i "s/return the sum/return r the sum/g" verifier.sol
35sed -i "s/return the product/return r the product/g" verifier.sol
36cp verifier.sol ../contracts/verifier.sol