Change entropy to be the last command line arg, add test.sh file that demontstrates phase2 usage
This commit is contained in:
parent
e8b14ddb00
commit
7dd44484e2
@ -16,12 +16,12 @@ use std::fs::OpenOptions;
|
|||||||
fn main() {
|
fn main() {
|
||||||
let args: Vec<String> = std::env::args().collect();
|
let args: Vec<String> = std::env::args().collect();
|
||||||
if args.len() != 4 {
|
if args.len() != 4 {
|
||||||
println!("Usage: \n<in_params.params> <in_str_entropy> <out_params.params>");
|
println!("Usage: \n<in_params.params> <out_params.params> <in_str_entropy>");
|
||||||
std::process::exit(exitcode::USAGE);
|
std::process::exit(exitcode::USAGE);
|
||||||
}
|
}
|
||||||
let in_params_filename = &args[1];
|
let in_params_filename = &args[1];
|
||||||
let entropy = &args[2];
|
let out_params_filename = &args[2];
|
||||||
let out_params_filename = &args[3];
|
let entropy = &args[3];
|
||||||
|
|
||||||
let disallow_points_at_infinity = false;
|
let disallow_points_at_infinity = false;
|
||||||
|
|
||||||
|
41
phase2/test.sh
Executable file
41
phase2/test.sh
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
rm -f pk.json vk.json transformed_vk.json transformed_pk.* proof.json
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# move results of powers of tau here
|
||||||
|
cp ../powersoftau/phase1radix* .
|
||||||
|
|
||||||
|
# compile circuit
|
||||||
|
npx circom circuit.circom -o circuit.json && npx snarkjs info -c circuit.json
|
||||||
|
# npx snarkjs info -c circuit.json
|
||||||
|
|
||||||
|
# initialize ceremony
|
||||||
|
cargo run --release --bin new circuit.json circom1.params
|
||||||
|
|
||||||
|
cargo run --release --bin contribute circom1.params circom2.params asdajdzixcjlzxjczxlkcjzxlkcj
|
||||||
|
cargo run --release --bin verify_contribution circuit.json circom1.params circom2.params
|
||||||
|
|
||||||
|
cargo run --release --bin contribute circom2.params circom3.params dsfjkshdfakjhsdf
|
||||||
|
cargo run --release --bin verify_contribution circuit.json circom2.params circom3.params
|
||||||
|
|
||||||
|
cargo run --release --bin contribute circom3.params circom4.params askldfjklasdf
|
||||||
|
cargo run --release --bin verify_contribution circuit.json circom3.params circom4.params
|
||||||
|
|
||||||
|
# generate resulting keys
|
||||||
|
cargo run --release --bin export_keys circom4.params vk.json pk.json
|
||||||
|
|
||||||
|
# create dummy keys in circom format
|
||||||
|
npx snarkjs setup --protocol groth
|
||||||
|
# patch dummy keys with actual keys params
|
||||||
|
node patch_vk.js
|
||||||
|
# generate binary version of proving key
|
||||||
|
node node_modules/websnark/tools/buildpkey.js -i transformed_pk.json -o transformed_pk.bin
|
||||||
|
|
||||||
|
# try to generate and verify proof
|
||||||
|
snarkjs calculatewitness
|
||||||
|
node node_modules/websnark/tools/buildwitness.js -i witness.json -o witness.bin
|
||||||
|
snarkjs proof # to get public inputs json only
|
||||||
|
./cli.js
|
||||||
|
snarkjs verify --vk transformed_vk.json --proof proof.json
|
Loading…
Reference in New Issue
Block a user