Skip to content

Commit 05000cd

Browse files
eigmaxUbuntu
andauthored
fix: snark setup (#65)
* fix: snark setup * fix: change key path * recover shell * fix: readme --------- Co-authored-by: Ubuntu <[email protected]>
1 parent df27a8f commit 05000cd

File tree

13 files changed

+49
-71
lines changed

13 files changed

+49
-71
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@ If successfully, it will generate the binary files in `target/release`/{`sha2-ru
8080
8181
> 3. If the environmental variable `PROOF_RESULTS_PATH` is not set, the proof results file will be saved in zkm-project-template/contracts/{src, verifier}; if the environmental variable `PROOF_RESULTS_PATH` is set, after the proof is completed, the proof results file needs to be copied from from 'PROOF_RESULTS_PATH'/{src, verifier} to the corresponding zkm-project-template/contracts/{src, verifier}.
8282
83-
> 4. The environment variable `VERIFYING_KEY_PATH` specifies the location of the verification key (vk). If this variable is not set to zkm-project-template/contracts/src, you should copy the `VERIFYING_KEY_PATH`/verifier.sol to zkm-project-template/contracts/src/ after executing the host program.
83+
> 4. The environment variable `KEY_PATH` specifies the location of the proving and verifying key.
8484
85-
> 5. The environment variable `KEY_GENERATION` is set to "true", it will generate the proof key (pk), the verification key (vk) and the verifier contract and store them at the path indicated by `VERIFYING_KEY_PATH`.Then, the `KEY_GENERATION` should be set to "false" , next executing the host will generate the snark proof using the same pk and vk.
85+
> 5. The environment variable `SNARK_SETUP` is set to "true", it will generate the proving key(pk), the verifying key(vk) and the verifier contract and store them at the path indicated by `KEY_PATH`.Then, the `SNARK_SETUP` should be set to "false" , next executing the host will generate the snark proof using the same pk and vk.
8686
8787
> 6. The degree bits for tables can be configured using environment variables such as `ARITHMETIC`, `CPU`, etc. For example, if the error "Error: Missing preprocessed circuits for Cpu table with size 12" appears, resolve it by running: `export CPU="12..13"`.
8888
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"roots_before":{"root":[3470925945,3658226336,3556090870,1617198347,3161782062,2692532216,3832218119,3724609168]},"roots_after":{"root":[1879875119,2196571640,2192083828,804772157,3609648697,1917591876,4240307244,699458677]},"userdata":[210,10,0,0,0,0,0,0,123,34,95,105,110,102,111,34,58,110,117,108,108,44,34,99,104,97,105,110,95,105,100,34,58,51,50,51,56,50,44,34,101,110,118,34,58,123,34,99,117,114,114,101,110,116,67,111,105,110,98,97,115,101,34,58,34,48,120,57,49,51,57,101,101,53,52,53,48,102,100,51,98,48,100,48,55,101,51,97,54,50,51,101,101,53,101,51,100,102,48,49,51,98,102,100,101,97,55,34,44,34,99,117,114,114,101,110,116,68,105,102,102,105,99,117,108,116,121,34,58,34,48,120,48,34,44,34,99,117,114,114,101,110,116,71,97,115,76,105,109,105,116,34,58,34,48,120,49,99,57,99,51,56,48,34,44,34,99,117,114,114,101,110,116,78,117,109,98,101,114,34,58,34,48,120,51,48,99,48,100,34,44,34,99,117,114,114,101,110,116,84,105,109,101,115,116,97,109,112,34,58,34,48,120,54,54,101,102,51,101,52,101,34,44,34,99,117,114,114,101,110,116,66,97,115,101,70,101,101,34,58,34,48,120,55,34,44,34,112,114,101,118,105,111,117,115,72,97,115,104,34,58,34,48,120,54,102,99,99,56,51,54,50,55,49,100,100,55,101,49,54,49,97,55,53,57,97,50,102,50,102,49,54,99,55,48,57,100,52,49,49,50,101,52,101,53,56,51,53,55,98,99,97,98,52,49,55,102,54,54,54,102,102,56,55,53,55,51,57,34,44,34,99,117,114,114,101,110,116,82,97,110,100,111,109,34,58,34,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,44,34,99,117,114,114,101,110,116,66,101,97,99,111,110,82,111,111,116,34,58,34,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,44,34,99,117,114,114,101,110,116,87,105,116,104,100,114,97,119,97,108,115,82,111,111,116,34,58,34,48,120,53,54,101,56,49,102,49,55,49,98,99,99,53,53,97,54,102,102,56,51,52,53,101,54,57,50,99,48,102,56,54,101,53,98,52,56,101,48,49,98,57,57,54,99,97,100,99,48,48,49,54,50,50,102,98,53,101,51,54,51,98,52,50,49,34,44,34,112,97,114,101,110,116,66,108,111,98,71,97,115,85,115,101,100,34,58,34,48,120,53,50,48,56,34,44,34,112,97,114,101,110,116,69,120,99,101,115,115,66,108,111,98,71,97,115,34,58,34,48,120,53,50,48,56,34,125,44,34,112,114,101,34,58,123,34,48,120,49,56,100,98,55,100,102,53,102,51,48,97,97,102,54,98,52,102,49,53,98,50,52,50,99,48,55,99,101,54,50,102,102,97,50,102,51,51,49,49,34,58,123,34,98,97,108,97,110,99,101,34,58,34,48,120,49,99,57,100,49,50,48,49,48,53,54,48,48,48,34,44,34,99,111,100,101,34,58,34,48,120,34,44,34,110,111,110,99,101,34,58,34,48,120,48,34,44,34,115,116,111,114,97,103,101,34,58,123,125,125,44,34,48,120,57,49,51,57,101,101,53,52,53,48,102,100,51,98,48,100,48,55,101,51,97,54,50,51,101,101,53,101,51,100,102,48,49,51,98,102,100,101,97,55,34,58,123,34,98,97,108,97,110,99,101,34,58,34,48,120,50,98,48,55,55,101,98,97,99,53,102,50,53,50,100,49,101,99,99,34,44,34,99,111,100,101,34,58,34,48,120,34,44,34,110,111,110,99,101,34,58,34,48,120,102,34,44,34,115,116,111,114,97,103,101,34,58,123,125,125,44,34,48,120,97,52,56,50,97,101,55,100,55,53,51,98,51,51,99,98,48,54,102,100,54,56,55,50,52,52,51,101,57,48,50,99,98,54,98,101,101,53,57,50,34,58,123,34,98,97,108,97,110,99,101,34,58,34,48,120,49,48,57,56,51,100,54,101,48,97,48,102,57,51,52,56,99,53,48,34,44,34,99,111,100,101,34,58,34,48,120,34,44,34,110,111,110,99,101,34,58,34,48,120,49,97,34,44,34,115,116,111,114,97,103,101,34,58,123,125,125,125,44,34,112,111,115,116,34,58,123,34,83,104,97,110,103,104,97,105,34,58,91,123,34,101,120,112,101,99,116,69,120,99,101,112,116,105,111,110,34,58,110,117,108,108,44,34,105,110,100,101,120,101,115,34,58,123,34,100,97,116,97,34,58,48,44,34,103,97,115,34,58,48,44,34,118,97,108,117,101,34,58,48,125,44,34,104,97,115,104,34,58,34,48,120,99,102,48,54,54,53,99,98,102,97,50,56,57,48,97,57,102,101,48,53,100,101,99,48,50,55,102,102,99,97,53,48,102,50,50,57,97,52,49,52,99,54,49,48,51,48,48,52,97,49,49,55,102,49,100,102,101,57,53,50,99,52,53,98,34,44,34,112,111,115,116,83,116,97,116,101,34,58,123,34,48,120,49,56,100,98,55,100,102,53,102,51,48,97,97,102,54,98,52,102,49,53,98,50,52,50,99,48,55,99,101,54,50,102,102,97,50,102,51,51,49,49,34,58,123,34,98,97,108,97,110,99,101,34,58,34,48,120,49,100,53,101,99,97,101,101,53,98,98,48,48,48,34,44,34,99,111,100,101,34,58,34,48,120,34,44,34,110,111,110,99,101,34,58,34,48,120,48,34,44,34,115,116,111,114,97,103,101,34,58,123,125,125,44,34,48,120,97,52,56,50,97,101,55,100,55,53,51,98,51,51,99,98,48,54,102,100,54,56,55,50,52,52,51,101,57,48,50,99,98,54,98,101,101,53,57,50,34,58,123,34,98,97,108,97,110,99,101,34,58,34,48,120,49,48,57,56,51,100,53,102,56,98,53,50,56,99,55,53,101,49,56,34,44,34,99,111,100,101,34,58,34,48,120,34,44,34,110,111,110,99,101,34,58,34,48,120,49,98,34,44,34,115,116,111,114,97,103,101,34,58,123,125,125,44,34,48,120,57,49,51,57,101,101,53,52,53,48,102,100,51,98,48,100,48,55,101,51,97,54,50,51,101,101,53,101,51,100,102,48,49,51,98,102,100,101,97,55,34,58,123,34,98,97,108,97,110,99,101,34,58,34,48,120,50,98,48,55,55,101,98,100,50,57,50,48,56,52,49,98,101,99,99,34,44,34,99,111,100,101,34,58,34,48,120,34,44,34,110,111,110,99,101,34,58,34,48,120,102,34,44,34,115,116,111,114,97,103,101,34,58,123,125,125,125,44,34,108,111,103,115,34,58,34,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,44,34,116,120,98,121,116,101,115,34,58,34,48,120,55,98,50,50,54,51,54,49,54,99,54,99,54,53,55,50,50,50,51,97,50,50,51,48,55,56,54,49,51,52,51,56,51,50,54,49,54,53,51,55,54,52,51,55,51,53,51,51,54,50,51,51,51,51,54,51,54,50,51,48,51,54,54,54,54,52,51,54,51,56,51,55,51,50,51,52,51,52,51,51,54,53,51,57,51,48,51,50,54,51,54,50,51,54,54,50,54,53,54,53,51,53,51,57,51,50,50,50,50,99,50,50,54,55,54,49,55,51,53,102,54,99,54,57,54,100,54,57,55,52,50,50,51,97,51,50,51,49,51,48,51,48,51,48,50,99,50,50,54,55,54,49,55,51,53,102,55,48,55,50,54,57,54,51,54,53,50,50,51,97,50,50,51,48,55,56,51,55,51,55,51,51,51,53,51,57,51,52,51,48,51,55,50,50,50,99,50,50,55,52,55,50,54,49,54,101,55,51,54,49,54,51,55,52,53,102,55,52,54,102,50,50,51,97,50,50,51,48,55,56,51,49,51,56,54,52,54,50,51,55,54,52,54,54,51,53,54,54,51,51,51,48,54,49,54,49,54,54,51,54,54,50,51,52,54,54,51,49,51,53,54,50,51,50,51,52,51,50,54,51,51,48,51,55,54,51,54,53,51,54,51,50,54,54,54,54,54,49,51,50,54,54,51,51,51,51,51,49,51,49,50,50,50,99,50,50,55,54,54,49,54,99,55,53,54,53,50,50,51,97,50,50,51,48,55,56,54,51,51,49,54,50,51,56,54,53,54,52,51,53,51,54,51,53,51,48,51,48,51,48,50,50,50,99,50,50,54,52,54,49,55,52,54,49,50,50,51,97,50,50,51,48,55,56,50,50,50,99,50,50,54,101,54,102,54,101,54,51,54,53,50,50,51,97,51,50,51,54,50,99,50,50,54,51,54,56,54,49,54,57,54,101,53,102,54,57,54,52,50,50,51,97,51,51,51,50,51,51,51,56,51,50,50,99,50,50,54,49,54,51,54,51,54,53,55,51,55,51,53,102,54,99,54,57,55,51,55,52,50,50,51,97,53,98,53,100,50,99,50,50,54,55,54,49,55,51,53,102,55,48,55,50,54,57,54,102,55,50,54,57,55,52,55,57,53,102,54,54,54,53,54,53,50,50,51,97,50,50,51,48,55,56,51,55,51,55,51,51,51,53,51,57,51,52,51,48,51,48,50,50,50,99,50,50,54,50,54,99,54,102,54,50,53,102,54,56,54,49,55,51,54,56,54,53,55,51,50,50,51,97,53,98,53,100,50,99,50,50,54,100,54,49,55,56,53,102,54,54,54,53,54,53,53,102,55,48,54,53,55,50,53,102,54,50,54,99,54,102,54,50,53,102,54,55,54,49,55,51,50,50,51,97,54,101,55,53,54,99,54,99,50,99,50,50,54,49,55,53,55,52,54,56,54,102,55,50,54,57,55,97,54,49,55,52,54,57,54,102,54,101,53,102,54,99,54,57,55,51,55,52,50,50,51,97,54,101,55,53,54,99,54,99,55,100,34,125,93,125,44,34,116,114,97,110,115,97,99,116,105,111,110,34,58,123,34,100,97,116,97,34,58,91,34,48,120,34,93,44,34,103,97,115,76,105,109,105,116,34,58,91,34,48,120,53,50,48,56,34,93,44,34,103,97,115,80,114,105,99,101,34,58,34,48,120,55,55,51,53,57,52,48,55,34,44,34,110,111,110,99,101,34,58,34,48,120,49,97,34,44,34,115,101,99,114,101,116,75,101,121,34,58,34,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,34,44,34,115,101,110,100,101,114,34,58,34,48,120,97,52,56,50,97,101,55,100,55,53,51,98,51,51,99,98,48,54,102,100,54,56,55,50,52,52,51,101,57,48,50,99,98,54,98,101,101,53,57,50,34,44,34,116,111,34,58,34,48,120,49,56,100,98,55,100,102,53,102,51,48,97,97,102,54,98,52,102,49,53,98,50,52,50,99,48,55,99,101,54,50,102,102,97,50,102,51,51,49,49,34,44,34,118,97,108,117,101,34,58,91,34,48,120,99,49,98,56,101,100,53,54,53,48,48,48,34,93,44,34,109,97,120,70,101,101,80,101,114,71,97,115,34,58,34,48,120,49,55,52,56,55,54,101,56,48,48,34,44,34,109,97,120,80,114,105,111,114,105,116,121,70,101,101,80,101,114,71,97,115,34,58,34,48,120,55,55,51,53,57,52,48,48,34,44,34,97,99,99,101,115,115,76,105,115,116,115,34,58,91,91,93,93,44,34,98,108,111,98,86,101,114,115,105,111,110,101,100,72,97,115,104,101,115,34,58,91,93,44,34,109,97,120,70,101,101,80,101,114,66,108,111,98,71,97,115,34,58,110,117,108,108,125,44,34,111,117,116,34,58,110,117,108,108,125]}
1+
{"roots_before":{"root":[1520004774,3121205016,3928823765,3984044795,4189791008,2695951123,1653901234,873746115]},"roots_after":{"root":[2516396279,2445484608,390252443,1584308213,4024382435,1334582959,2148796663,3129331213]},"userdata":[1,2,3,4,5,6,7,8,9,10,17,255,34,17,255,255,51,34,17,0,255,255,255,255,85,68,51,34,17,0,0,0,255,255,255,255,255,255,255,255,32,0,0,0,0,0,0,0,113,30,150,9,51,158,146,176,61,220,10,33,24,39,219,164,33,243,143,158,216,185,216,6,225,255,221,140,21,255,160,61,2,0,0,0,6,0,0,0,0,0,0,0,119,111,114,108,100,33]}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"Proof":{"Ar":{"X":"1596492827272345423551358717653620886685307849630849763949936609688377479017","Y":"14444964514044934450642036623207119590833861501194959387311678313584500748708"},"Krs":{"X":"20314646680684839850160192838026428665519843001326855886847111913769431841769","Y":"3774179109197008786225944880602793580234585009955415370316859261169550076693"},"Bs":{"X":{"A0":"16000950713313894765727552724138022929141773252147781802565526519177843747376","A1":"1694895456972839971413709402905996090075245271257220368970233731153231271413"},"Y":{"A0":"5245082773332498589866505562250594939381443411580096371162266973872033001830","A1":"343958881679043008966594728037218197836909393870781822997381131688371973761"}},"Commitments":[{"X":"2485494117384331851883821777015670531283096534687656598859096273068043713936","Y":"9969681804626444628297282271814363378248253074372054463429798661717846068050"}],"CommitmentPok":{"X":"15722776659457863479199928393498716100620490824775083738587220291640818361300","Y":"18204086649322671635772997253902880661428454335151542884374562080259624273590"}},"PublicWitness":["12351685511050944434615050869559989696970598788898278743532438037766400910170","4562557203218255535500928696899123991119679511505434615040198341590533039712"]}
1+
{"Proof":{"Ar":{"X":"5994796414855330279065706512461940173003535436454272510371884944778183220302","Y":"9979836589617051287237964220027676158651659880361307070031011222574442197333"},"Krs":{"X":"16425790600371440879048973447442289896128617218437946182899147455494672154327","Y":"16793774841009774311478607962388436195173668336718362390104170978699859140336"},"Bs":{"X":{"A0":"21266426073961229419279095443642077380427558788991791627794984405608358447969","A1":"4215462658323739035539772293752009147404279262137887490779576475050096740793"},"Y":{"A0":"9734149779616818867124275749828029321793592106575872495296116896240194651571","A1":"805855292067123296655616051327210961447690494844642826581054334651142896334"}},"Commitments":[{"X":"14999526371232172328720781148880234212128075630755076155226146277253242268926","Y":"12533709697540749719271196349170692011621445086961136148015304778551632957662"}],"CommitmentPok":{"X":"16944420262394583326227442952980175766915086863156341226871919788821408053792","Y":"18856406134740883110051279191817661923647044766596119316665934586625582461803"}},"PublicWitness":["9109048324632521390150885285073287124501684821785031893029558487799656969399","941471420695846506503662682553547735673473641949479646471617379358248217516"]}

host-program/mem-alloc-vec/src/main.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,6 @@ async fn main() -> Result<()> {
1414
let prover_client = ProverClient::new(&client_config).await;
1515
log::info!("new prover client,ok.");
1616

17-
//excuting the setup_and_generate_sol_verifier
18-
if prover_input.snark_setup {
19-
match zkm_recursion::groth16_setup(&client_config.vk_path) {
20-
Ok(()) => log::info!("Succussfully setup_and_generate_sol_verifier."),
21-
Err(e) => {
22-
log::info!("Error during setup_and_generate_sol_verifier: {}", e);
23-
bail!("Failed to setup_and_generate_sol_verifier.");
24-
}
25-
}
26-
}
27-
2817
let start = Instant::now();
2918
let proving_result = prover_client.prover.prove(&prover_input, None).await;
3019
match proving_result {

host-program/revme/src/main.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,6 @@ async fn main() -> Result<()> {
2020
let prover_client = ProverClient::new(&client_config).await;
2121
log::info!("new prover client,ok.");
2222

23-
//excuting the setup_and_generate_sol_verifier
24-
if prover_input.snark_setup {
25-
match zkm_recursion::groth16_setup(&client_config.vk_path) {
26-
Ok(()) => log::info!("Succussfully setup_and_generate_sol_verifier."),
27-
Err(e) => {
28-
log::info!("Error during setup_and_generate_sol_verifier: {}", e);
29-
bail!("Failed to setup_and_generate_sol_verifier.");
30-
}
31-
}
32-
}
33-
3423
let start = Instant::now();
3524
let proving_result = prover_client.prover.prove(&prover_input, None).await;
3625
match proving_result {

host-program/run-proving.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export ARGS="711e9609339e92b03ddc0a211827dba421f38f9ed8b9d806e1ffdd8c15ffa03d wo
1414
export JSON_PATH=${BASEDIR}/test-vectors/test.json
1515
export PROOF_RESULTS_PATH=${BASEDIR}/../contracts
1616
export EXECUTE_ONLY=false
17-
export VERIFYING_KEY_PATH=${BASEDIR}/../contracts/src
17+
export KEY_PATH=${BASEDIR}/../keys
1818
export SNARK_SETUP=${SNARK_SETUP-false}
1919

2020
##network proving

host-program/sha2-go/src/main.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,6 @@ async fn main() -> Result<()> {
1515
let (client_config, prover_input) = ClientCfg::from_env(set_guest_input);
1616
let prover_client = ProverClient::new(&client_config).await;
1717
log::info!("new prover client,ok.");
18-
//excuting the setup_and_generate_sol_verifier
19-
if prover_input.snark_setup {
20-
match zkm_recursion::groth16_setup(&client_config.vk_path) {
21-
Ok(()) => log::info!("Succussfully setup_and_generate_sol_verifier."),
22-
Err(e) => {
23-
log::info!("Error during setup_and_generate_sol_verifier: {}", e);
24-
bail!("Failed to setup_and_generate_sol_verifier.");
25-
}
26-
}
27-
}
2818

2919
let start = Instant::now();
3020
let proving_result = prover_client.prover.prove(&prover_input, None).await;

host-program/sha2-rust/src/main.rs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,6 @@ async fn main() -> Result<()> {
1515
let prover_client = ProverClient::new(&client_config).await;
1616
log::info!("new prover client,ok.");
1717

18-
//excuting the setup_and_generate_sol_verifier
19-
if prover_input.snark_setup {
20-
match zkm_recursion::groth16_setup(&client_config.vk_path) {
21-
Ok(()) => log::info!("Succussfully setup_and_generate_sol_verifier."),
22-
Err(e) => {
23-
log::info!("Error during setup_and_generate_sol_verifier: {}", e);
24-
bail!("Failed to setup_and_generate_sol_verifier.");
25-
}
26-
}
27-
}
28-
2918
let start = Instant::now();
3019
let proving_result = prover_client.prover.prove(&prover_input, None).await;
3120
match proving_result {

sdk/src/lib.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,9 @@ impl ProverClient {
126126
pub async fn new(client_config: &ClientCfg) -> Self {
127127
#[allow(unreachable_code)]
128128
match client_config.zkm_prover_type.as_str() {
129-
"local" => Self { prover: Box::new(LocalProver::new(&client_config.vk_path)) },
129+
"local" => Self {
130+
prover: Box::new(LocalProver::new(client_config.key_path.as_ref().unwrap())),
131+
},
130132
"network" => {
131133
Self { prover: Box::new(NetworkProver::new(client_config).await.unwrap()) }
132134
}
@@ -136,8 +138,8 @@ impl ProverClient {
136138
}
137139
}
138140

139-
pub fn local(vk_path: &str) -> Self {
140-
Self { prover: Box::new(LocalProver::new(vk_path)) }
141+
pub fn local(key_path: &str) -> Self {
142+
Self { prover: Box::new(LocalProver::new(key_path)) }
141143
}
142144

143145
pub async fn network(client_config: &ClientCfg) -> Self {

0 commit comments

Comments
 (0)