mirror of
https://github.com/zkopru-network/zkopru.git
synced 2026-01-24 21:48:05 -05:00
27 lines
848 B
Bash
Executable File
27 lines
848 B
Bash
Executable File
#!/bin/bash
|
|
|
|
BASEDIR=$(dirname "$0")
|
|
ARTIFACTS="build/circuits"
|
|
MAX_JOB=$(nproc)
|
|
cd $BASEDIR/..
|
|
mkdir -p $ARTIFACTS
|
|
i=0
|
|
for circuit in "impls"/*.circom;
|
|
do
|
|
i=$(($i+1))
|
|
prefix="$ARTIFACTS/$(basename "$circuit" ".circom")"
|
|
node --stack-size=8192 $(which circom) "$circuit" -r "$prefix.r1cs" && \
|
|
echo "Circuit compile result: $(basename "$circuit" ".circom")" && \
|
|
snarkjs info -r "$prefix.r1cs" &
|
|
node --stack-size=8192 $(which circom) "$circuit" -c "$prefix.c" &
|
|
node --stack-size=8192 $(which circom) "$circuit" -w "$prefix.wasm" &
|
|
node --stack-size=8192 $(which circom) "$circuit" -s "$prefix.sym" &
|
|
if (( $i % $MAX_JOB == 0 )); then wait; fi
|
|
done
|
|
wait
|
|
for circuit in "impls"/*.circom;
|
|
do
|
|
prefix="$ARTIFACTS/$(basename "$circuit" ".circom")"
|
|
snarkjs r1cs export json "$prefix.r1cs" "$prefix.json"
|
|
done
|