Simple Implementation on private transaction mixer.
Refer Circom and Snarkjs installation guide here
This will generate wasm and r1cs file in outputs directory
circom circuit/transaction.circom --r1cs --wasm --sym -o outputs/We will be using pregenerated file for testing
wget https://hermez.s3-eu-west-1.amazonaws.com/powersOfTau28_hez_final_12.ptausnarkjs groth16 setup outputs/transaction.r1cs outputs/powersOfTau28_hez_final_12.ptau outputs/mixer_transaction_circuit.zkeysnarkjs zkey export verificationkey outputs/mixer_transaction_circuit.zkey outputs/verification_key.jsonsnarkjs zkey export solidityverifier outputs/mixer_transaction_circuit.zkey outputs/verifier.solFollow the instructions from their repository or just do:
curl -L https://foundry.paradigm.xyz | bashfoundryupYou can do it either with forge:
forge installor directly with git:
git submodule update --init --recursive