Skip to content

Commit 43852f1

Browse files
committed
Add more docs
1 parent 4b3d387 commit 43852f1

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

ethereum_prover/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ 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", "unlimited_native", "evm-compatibility", "evm_refunds", "disable_system_contracts" ] }
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" }

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)