themighty1 4c0eec8d5e wip
2022-08-26 18:01:10 +03:00
wip
2022-08-26 18:01:10 +03:00
wip
2022-08-26 18:01:10 +03:00
2022-08-26 11:27:13 +03:00
2022-08-26 11:27:13 +03:00
2022-08-26 09:12:32 +03:00
2022-08-26 09:12:32 +03:00
2022-08-26 09:12:32 +03:00
2022-08-26 09:12:32 +03:00
2022-08-26 11:27:13 +03:00
2022-08-26 11:27:13 +03:00
2022-08-26 09:12:32 +03:00
2022-08-26 09:12:32 +03:00

This repo generates a circom circuit which is used to decode output labels from GC.

Install snarkjs https://github.com/iden3/snarkjs
Download powers of tau^14 https://hermez.s3-eu-west-1.amazonaws.com/powersOfTau28_hez_final_14.ptau

Run:
python3 script.py 15
# 10 is how much plaintext (in Field elements of ~32 bytes) we want
# to decode inside the snark. (For tau^14 max is 21)
# if you need more than 21, you'll need to download another ptau file from 
# https://github.com/iden3/snarkjs#7-prepare-phase-2
circom circuit.circom --r1cs --wasm

snarkjs groth16 setup circuit.r1cs powersOfTau28_hez_final_14.ptau circuit_0000.zkey

# snarkjs groth16 setup circuit.r1cs pot14_bls12_final.ptau circuit_0000.zkey

snarkjs zkey contribute circuit_0000.zkey circuit_final.zkey -v -e="Notary's entropy"
snarkjs zkey export verificationkey circuit_final.zkey verification_key.json
snarkjs groth16 fullprove input.json circuit_js/circuit.wasm circuit_final.zkey proof.json public.json


snarkjs groth16 verify verification_key.json public.json proof.json



We can generate circuit.wasm and circuit.r1cs deterministically with circom 2.0.5+
circom circuit.circom --r1cs --wasm
and then ship .wasm on the User side and .r1cs on the Notary side
Description
No description provided
Readme 22 MiB
Languages
Circom 85.1%
Rust 14.5%
JavaScript 0.4%