Environment overview
Deploying the full zkEVM stack requires installing and deploying a number of different components.
Info
Each component runs in its own Docker container.
Component | Container | Brief Description |
---|---|---|
Sequencer | zkevm-sequencer |
Fetches txs from the pool DB, checks if valid, then puts valid ones into a batch. |
Aggregator | zkevm-aggregator |
Validates sequenced batches by generating verifiable zero-knowledge proofs. |
Synchronizer | zkevm-sync |
Updates the state by fetching data from Ethereum through the Etherman. |
JSON RPC | zkevm-rpc |
An interface for interacting with the network. e.g., Metamask, Etherscan or Bridge. |
State DB | zkevm-state-db |
A database for permanently storing state data (apart from the Merkle tree). |
Prover | zkevm-prover-server |
Used by the aggregator to create zk-proofs. The full prover is extremely resource-heavy and runs on an external cloud server. Use the mock prover for evaluation/test purposes. |
Pool DB | zkevm-pool-db |
Stores txs from the RPC nodes, waiting to be put in a batch by the sequencer. |
Executor | zkevm-executor |
Executes all processes. Collects results’ metadata (state root, receipts, logs) |
Etherman | zkevm-eth-tx-manager |
Implements methods for all interactions with the L1 network and smart contracts. |
Bridge UI | zkevm-bridge-ui |
User-interface for bridging ERC-20 tokens between L2 and L1 or another L2. |
Bridge DB | zkevm-bridge-db |
A database for storing bridge-related transactions data. |
Bridge service | zkevm-bridge-service |
A backend service enabling clients like the web UI to interact with bridge smart contracts. |
zkEVM explorer | zkevm-explorer-l2 |
L2 network’s block explorer. i.e., The zkRollup Etherscan explorer. |
zkEVM explorer DB | zkevm-explorer-l2-db |
Database for the L2 network’s Block explorer. i.e., Where all the zkRollup Etherscan explorer queries are made. |
Gas pricer | zkevm-l2gaspricer |
Responsible for suggesting the gas price for the L2 network fees. |
Sepolia execution | sepolia-execution |
L1 node’s execution layer. |
Sepolia consensus | sepolia-consensus |
L1 node’s consensus layer. |