mirror of
https://github.com/zkopru-network/zkopru.git
synced 2026-01-10 06:57:58 -05:00
fix: ci & build script
This commit is contained in:
@@ -83,13 +83,9 @@ jobs:
|
||||
- run:
|
||||
name: Setup
|
||||
command: |
|
||||
docker pull zkoprunet/circuits:dev
|
||||
cd packages/circuits
|
||||
yarn setup
|
||||
yarn build-keys
|
||||
yarn postbuild-keys
|
||||
cd ../dataset
|
||||
yarn load-keys
|
||||
yarn setup:pull
|
||||
yarn update-contracts
|
||||
- run:
|
||||
name: Contract Tests
|
||||
command: yarn test --scope=@zkopru/contracts
|
||||
@@ -102,7 +98,7 @@ jobs:
|
||||
- run:
|
||||
name: Setup
|
||||
command: |
|
||||
docker pull zkoprunet/circuits:dev
|
||||
yarn images pull circuits
|
||||
cd packages/dataset
|
||||
yarn load-keys
|
||||
- run:
|
||||
@@ -117,23 +113,20 @@ jobs:
|
||||
- run:
|
||||
name: Account Tests
|
||||
command: yarn test --scope=@zkopru/account
|
||||
# test_circuits:
|
||||
# machine:
|
||||
# image: ubuntu-2004:202010-01
|
||||
# steps:
|
||||
# - attach_workspace:
|
||||
# at: ~/
|
||||
# - run:
|
||||
# name: Setup
|
||||
# command: |
|
||||
# docker pull jchancehud/zkopru:circuits
|
||||
# docker tag jchancehud/zkopru:circuits zkoprunet/circuits:dev
|
||||
# cd packages/circuits
|
||||
# yarn setup
|
||||
# yarn build-keys
|
||||
# - run:
|
||||
# name: Circuit Tests
|
||||
# command: yarn test --scope=@zkopru/circuits
|
||||
test_circuits:
|
||||
machine:
|
||||
image: ubuntu-2004:202010-01
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/
|
||||
- run:
|
||||
name: Setup
|
||||
command: |
|
||||
cd packages/circuits
|
||||
yarn phase1:pull
|
||||
- run:
|
||||
name: Circuit Tests
|
||||
command: yarn test --scope=@zkopru/circuits
|
||||
test_tree:
|
||||
machine:
|
||||
image: ubuntu-2004:202010-01
|
||||
@@ -152,11 +145,8 @@ jobs:
|
||||
- run:
|
||||
name: ZK Wizard Tests
|
||||
command: |
|
||||
docker pull zkoprunet/circuits:dev
|
||||
cd packages/circuits
|
||||
yarn setup
|
||||
yarn build-keys
|
||||
yarn postbuild-keys
|
||||
yarn setup:pull
|
||||
cd ../..
|
||||
yarn test --scope=@zkopru/zk-wizard
|
||||
test_client:
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
packages/**/keys
|
||||
.git
|
||||
.build-cache
|
||||
!packages/dataset/keys
|
||||
!packages/circuits/keys
|
||||
|
||||
@@ -25,7 +25,7 @@ RUN ln -s "$(which nodejs)" /usr/bin/node
|
||||
WORKDIR /proj
|
||||
|
||||
# Copy SNARK keys
|
||||
COPY ./packages/dataset/keys /proj/keys
|
||||
COPY ./packages/circuits/keys /proj/keys
|
||||
|
||||
# Copy package.json
|
||||
COPY ./.package-dev.json /proj/package.json
|
||||
|
||||
@@ -19,7 +19,7 @@ WORKDIR /proj/zkopru/packages/cli
|
||||
RUN ganache-cli --db=/proj/data -i 20200406 -p 5000 --gasLimit 12000000 --deterministic --host 0.0.0.0 & \
|
||||
sleep 5 && cd /proj/zkopru/packages/contracts && truffle migrate --network testnet
|
||||
|
||||
COPY ./packages/dataset/keys /proj/zkopru/packages/cli/keys
|
||||
COPY ./packages/circuits/keys /proj/zkopru/packages/cli/keys
|
||||
|
||||
CMD ganache-cli --db=/proj/data -i 20200406 -p 5000 --gasLimit 12000000 --deterministic --host 0.0.0.0 > /dev/null & \
|
||||
sleep 1;\
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"build:ts:serial": "lerna run build && yarn link-modules",
|
||||
"circuit:setup": "lerna run setup:build",
|
||||
"build:contract": "lerna run --parallel build:contract",
|
||||
"build:keys": "lerna run build-keys --scope=@zkopru/dataset",
|
||||
"build:keys": "lerna run build-keys --scope=@zkopru/circuits",
|
||||
"build:fresh": "yarn clean && shx rm -rf packages/*/node_modules && yarn build",
|
||||
"clean": "lerna run --parallel clean && shx rm -rf packages/*/node_modules && shx rm -rf .build-cache *.log coverage junit.xml",
|
||||
"clean:db": "shx rm -rf **/*/.mockup",
|
||||
|
||||
@@ -21,9 +21,10 @@
|
||||
"phase1:pull": "ts-node src/pull-phase1.ts",
|
||||
"phase1:build": "./script/powers_of_tau_phase_1.sh",
|
||||
"phase2:pull": "ts-node src/pull-keys.ts",
|
||||
"phase2:build": "ts-node src/build-keys.ts",
|
||||
"phase2:build": "./script/powers_of_tau_phase_2.sh",
|
||||
"build-keys": "ts-node src/build-keys.ts",
|
||||
"postbuild-keys": "copyfiles -f keys/vks/* ../contracts/keys/vks",
|
||||
"postbuild-keys": "yarn update-contracts",
|
||||
"update-contracts": "copyfiles -f keys/vks/* ../contracts/keys/vks",
|
||||
"compile": "./script/compile_circuits.sh",
|
||||
"setup": "yarn setup:pull",
|
||||
"setup:pull": "yarn phase1:pull && yarn phase2:pull",
|
||||
|
||||
23
packages/circuits/script/pack-artifacts.sh
Executable file
23
packages/circuits/script/pack-artifacts.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
WORK_DIR=$BASEDIR/..
|
||||
PTAU_ARTIFACTS="build/ptau"
|
||||
CIRCUIT_ARTIFACTS="build/circuits"
|
||||
VK_ARTIFACTS="build/vks"
|
||||
ZKEY_ARTIFACTS="build/zkeys"
|
||||
|
||||
KEYS_ARTIFACTS="keys"
|
||||
|
||||
cd $WORK_DIR
|
||||
|
||||
mkdir -p $KEYS_ARTIFACTS/circuits
|
||||
mkdir -p $KEYS_ARTIFACTS/vks
|
||||
mkdir -p $KEYS_ARTIFACTS/zkeys
|
||||
|
||||
cp $CIRCUIT_ARTIFACTS/*.wasm $KEYS_ARTIFACTS/circuits
|
||||
cp $ZKEY_ARTIFACTS/*.zkey $KEYS_ARTIFACTS/zkeys
|
||||
rm $KEYS_ARTIFACTS/zkeys/*_000*.zkey
|
||||
cp $VK_ARTIFACTS/*.json $KEYS_ARTIFACTS/vks
|
||||
|
||||
tar -czvf $KEYS_ARTIFACTS.tgz $KEYS_ARTIFACTS/*
|
||||
@@ -1,13 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
WORK_DIR=$BASEDIR/..
|
||||
cd $BASEDIR/..
|
||||
WORK_DIR=$(pwd)
|
||||
PTAU_ARTIFACTS="build/ptau"
|
||||
CIRCUIT_ARTIFACTS="build/circuits"
|
||||
VK_ARTIFACTS="build/vks"
|
||||
ZKEY_ARTIFACTS="build/zkeys"
|
||||
PHASE_1_FINAL=$PTAU_ARTIFACTS/pot17_final.ptau
|
||||
cd $WORK_DIR
|
||||
mkdir -p $CIRCUIT_ARTIFACTS
|
||||
mkdir -p $VK_ARTIFACTS
|
||||
mkdir -p $ZKEY_ARTIFACTS
|
||||
MAX_JOB=$(nproc)
|
||||
@@ -20,12 +21,14 @@ phase2() {
|
||||
snarkjs zkey contribute "$ZKEY_ARTIFACTS/$circuit"_0000.zkey "$ZKEY_ARTIFACTS/$circuit"_0001.zkey --name="1st Contributor Name" -v -e="random entropy 1" # Testing purpose
|
||||
snarkjs zkey contribute "$ZKEY_ARTIFACTS/$circuit"_0001.zkey "$ZKEY_ARTIFACTS/$circuit"_0002.zkey --name="2nd Contributor Name" -v -e="random entropy 2" # Testing purpose
|
||||
snarkjs zkey verify "$CIRCUIT_ARTIFACTS/$circuit".r1cs $PHASE_1_FINAL "$ZKEY_ARTIFACTS/$circuit"_0002.zkey
|
||||
snarkjs zkey beacon "$ZKEY_ARTIFACTS/$circuit"_0002.zkey "$ZKEY_ARTIFACTS/$circuit".final.zkey 0102030405060708090a0b0c0d0e0f101112131415161717191a1b1c1d1e1f 10 -n="Final Beacon phase2 - circuit $i"
|
||||
snarkjs zkey verify "$CIRCUIT_ARTIFACTS/$circuit".r1cs $PHASE_1_FINAL "$ZKEY_ARTIFACTS/$circuit".final.zkey
|
||||
snarkjs zkey beacon "$ZKEY_ARTIFACTS/$circuit"_0002.zkey "$ZKEY_ARTIFACTS/$circuit".zkey 0102030405060708090a0b0c0d0e0f101112131415161717191a1b1c1d1e1f 10 -n="Final Beacon phase2 - circuit $i"
|
||||
snarkjs zkey verify "$CIRCUIT_ARTIFACTS/$circuit".r1cs $PHASE_1_FINAL "$ZKEY_ARTIFACTS/$circuit".zkey
|
||||
TMP_DIR="build/tmp/$circuit"
|
||||
mkdir -p $TMP_DIR
|
||||
cp "$ZKEY_ARTIFACTS/$circuit".final.zkey $TMP_DIR/
|
||||
cd $TMP_DIR && snarkjs zkey export verificationkey "$circuit".final.zkey && cd $WORK_DIR
|
||||
cp "$ZKEY_ARTIFACTS/$circuit".zkey $TMP_DIR/
|
||||
ls $TMP_DIR
|
||||
cd $TMP_DIR && snarkjs zkey export verificationkey "$circuit".zkey
|
||||
cd $WORK_DIR
|
||||
mv $TMP_DIR/verification_key.json "$VK_ARTIFACTS/$circuit".vk.json
|
||||
rm -rf $TMP_DIR
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ async function loadArtifacts(build?: boolean) {
|
||||
)
|
||||
await utils.copyFromContainer(
|
||||
container,
|
||||
`/proj/build/zkeys/zk_transaction_${i}_${o}.final.zkey`,
|
||||
`/proj/build/zkeys/zk_transaction_${i}_${o}.zkey`,
|
||||
path.join(zkeyDir, `zk_transaction_${i}_${o}.zkey`),
|
||||
)
|
||||
await utils.copyFromContainer(
|
||||
|
||||
@@ -28,7 +28,7 @@ export async function loadCircuits() {
|
||||
)
|
||||
const zkey = await utils.readFromContainer(
|
||||
container,
|
||||
`/proj/build/zkeys/zk_transaction_${i}_${o}.final.zkey`,
|
||||
`/proj/build/zkeys/zk_transaction_${i}_${o}.zkey`,
|
||||
)
|
||||
const vk = await utils.readFromContainer(
|
||||
container,
|
||||
|
||||
Reference in New Issue
Block a user