privacy-scaling-explorations / zkevm-chain

zkevm-chain: Deprecated
86 stars 52 forks source link

Save pk: There will be an error When using cache_key as the file name to save pk #153

Open anylots opened 1 year ago

anylots commented 1 year ago

OS: Ubuntu 22.04 On Aws

Command: PROVERD_BLOCK_NUM=5 PROVERD_RPC_URL=http://127.0.0.1:8545 PROVERD_PARAMS_PATH=./degree22 MOCK=false PROVERD_DUMP=true nohup ./target/release/prover_cmd >out.log 2>&1 &

Error_log:

[2023-06-30T09:45:48Z DEBUG prover::shared_state] ======================================cache_key "super./degree22CircuitConfig { block_gas_limit: 63000, max_txs: 1, max_calldata: 10500, max_bytecode: 24634, max_rws: 476052, max_copy_rows: 896002, max_inner_blocks: 100, max_exp_steps: 4200, min_k: 22, pad_to: 476052, min_k_aggregation: 26, keccak_padding: 336000 }"

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /data/develop/prover/prover/src/[shared_state.rs:644](http://shared_state.rs:657/):52

If I replace ./degree22 with degree22 as PROVERD_PARAMS_PATH, then the parameter name will be too long, and the error is as follows:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 36, kind: InvalidFilename, message: "File name too long" }'

It seems that using CircuitConfig short information + normalizing param_path can solve this problem well?