Crates.io | zkevm_test_harness |
lib.rs | zkevm_test_harness |
version | |
source | src |
created_at | 2024-07-05 12:51:25.661561 |
updated_at | 2024-12-04 14:47:52.894786 |
description | ZKsync Era proving utilities |
homepage | https://zksync.io/ |
repository | https://github.com/matter-labs/zksync-protocol/ |
max_upload_size | |
id | 1292727 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
zkSync Era is a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum without compromising on security or decentralization. Since it's EVM compatible (Solidity/Vyper), 99% of Ethereum projects can redeploy without refactoring or re-auditing a single line of code. zkSync Era also uses an LLVM-based compiler that will eventually let developers write smart contracts in C++, Rust and other popular languages.
This repo contains a mixture of witness generation harness (that runs block's code and produces circuit-specific witness parts) and basic examples of full block proof workflow execution, that is:
It's easy to run
Get some modern Rust version (at least that supports Rust 2021 and const generics, but usually latest nightly is also a good option) and run
cargo test basic_test --release -- --nocapture
It may be a little verbose, but it's a full end to end test that:
One can see a lot of .json
files in the setup
and test_proofs
folders. Those are all the intermediate proofs, and if proof exists then example script will skip it's recomputation (whether it's a proof or verification key). So to run the full workflow one can remove all of those, or some of those.
Will regenerate setup parameters (geometry, verification keys, finalization hints and padding proofs)
cargo run --release --bin geometry_config_generator
cargo test --release test_run_create_base_layer_vks_and_proofs
cargo test --release test_run_create_recursion_layer_vks_and_proofs
zkSync Era is distributed under the terms of either
at your option.
zkSync Era has been through lots of testing and audits. Although it is live, it is still in alpha state and will go through more audits and bug bounties programs. We would love to hear our community's thoughts and suggestions about it! It is important to state that forking it now can potentially lead to missing important security updates, critical features, and performance improvements.