Skip to content

Commit 05720e3

Browse files
authored
fix: Fix feature flags for the forward run (#13)
- Fix feature flags (it caused issues in `forward_run` mode as it had p256 precompile disabled) - Add more info to the readme.
1 parent 22661d7 commit 05720e3

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ethereum_prover/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,15 @@ thiserror = "1"
2727

2828
# For local debugging: replace remote dependencies with local ones, init the submodule, and get convenient debugging experience.
2929
# DO NOT use local dependencies outside of debugging.
30-
# forward_system = { path = "../zksync-os/forward_system", features = ["no_print", "pectra"] }
30+
# forward_system = { path = "../zksync-os/forward_system", features = ["no_print", "pectra" ] }
3131
# oracle_provider = { path = "../zksync-os/oracle_provider" }
3232
# callable_oracles = { path = "../zksync-os/callable_oracles" }
3333
# crypto = { path = "../zksync-os/crypto" }
3434
# zk_ee = { path = "../zksync-os/zk_ee" }
3535
# basic_system = { path = "../zksync-os/basic_system" }
3636
# basic_bootloader = { path = "../zksync-os/basic_bootloader" }
3737
# zksync_os_runner = { path = "../zksync-os/zksync_os_runner" }
38+
# system_hooks = { path = "../zksync-os/system_hooks", features = ["p256_precompile"] }
3839

3940
forward_system = { git = "https://github.com/matter-labs/zksync-os", branch = "popzxc/more-ethproofs-fusaka", features = ["no_print", "pectra"] }
4041
oracle_provider = { git = "https://github.com/matter-labs/zksync-os", branch = "popzxc/more-ethproofs-fusaka" }
@@ -44,6 +45,7 @@ zk_ee = { git = "https://github.com/matter-labs/zksync-os", branch = "popzxc/mor
4445
basic_system = { git = "https://github.com/matter-labs/zksync-os", branch = "popzxc/more-ethproofs-fusaka" }
4546
basic_bootloader = { git = "https://github.com/matter-labs/zksync-os", branch = "popzxc/more-ethproofs-fusaka" }
4647
zksync_os_runner = { git = "https://github.com/matter-labs/zksync-os", branch = "popzxc/more-ethproofs-fusaka" }
48+
system_hooks = { git = "https://github.com/matter-labs/zksync-os", branch = "popzxc/more-ethproofs-fusaka", features = ["p256_precompile"] }
4749

4850
# execution_utils = { git = "https://github.com/matter-labs/zksync-airbender", branch = "dev", default-features = false, optional = true }
4951
# risc_v_simulator = { git = "https://github.com/matter-labs/zksync-airbender", branch = "dev", features = ["delegation"], optional = true }

ethereum_prover/README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44

55
`ethereum_prover` is a pipeline-style binary that ingests Ethereum blocks and produces witnesses or GPU proofs, with optional submission to EthProofs.
66

7+
## HW requirements
8+
9+
- The best CPU you can get (CPU often becomes a bottleneck).
10+
- At least one NVIDIA RTX 5090 or better (32GB VRAM required).
11+
- 64GB RAM (for a single GPU).
12+
13+
In case of multi-GPU setup, the prover will automatically detect and utilize all the available suitable GPUs.
14+
715
## Running
816

917
On a fresh Ubuntu machine (e.g. in `vast.ai`), you might need to run the [`ubuntu_setup` script](../scripts/ubuntu_setup.sh).
@@ -29,7 +37,8 @@ transaction receipts fetched from L1).
2937
### Build Notes
3038

3139
The project unconditionally builds the GPU prover, because keeping it behind the feature flag would complicate the development.
32-
To build the project without CUDA drivers installed, set `ZKSYNC_USE_CUDA_STUBS` environment variable to `true`.
40+
To build the project without CUDA drivers installed, set `ZKSYNC_USE_CUDA_STUBS` environment variable to `true`. Do not do that
41+
in any kind of environment where the built binary can actually be run.
3342

3443
`RUST_MIN_STACK` is required since the code might have compile issue with default value.
3544

@@ -86,6 +95,13 @@ Reusable configs live in `ethereum_prover/configs/`:
8695
- GPU tests are opt-in: `RUN_GPU_TESTS=1 cargo nextest run -p ethereum_prover --test gpu_prover_fixture`
8796
- Prefer unit tests for new behavior; add integration tests in `ethereum_prover/tests/` only when needed.
8897

98+
## Observability
99+
100+
Optional Sentry integration is supported. Currently, it will only generate alerts for failed witness generations or proofs.
101+
Exported Prometheus metrics can be seen in [metrics.rs](src/metrics.rs).
102+
103+
Sample Grafana dashboard for exported metrics is available in the [infra](../infra/) folder.
104+
89105
## License
90106

91107
[MIT](../LICENSE-MIT) or [Apache 2.0](../LICENSE-APACHE) at your option.

0 commit comments

Comments
 (0)