Top-to-bottom map of how an Ethereum node is structured
Top-to-bottom map of how an Ethereum node is structured
π΅ TOP LEVEL: The Node
A “node” = Execution Client (EL) + Consensus Client (CL) working together.
π₯ 1. CONSENSUS CLIENT (CL)
Main job: Follow PoS consensus, manage validators, attestations, sync committees, fork-choice.
Examples: Prysm, Lighthouse, Teku, Nimbus, Lodestar
✔ Components inside CL
✔ CL connects to:
-
Peers through libp2p
-
Execution Client via the Engine API (over authenticated RPC with JWT)
π₯ 2. EXECUTION CLIENT (EL)
Main job: Handle EVM, transactions, mempool, execution, state.
Examples: Geth, Nethermind, Erigon, Besu, Reth
✔ Components inside EL
✔ EL connects to:
-
Consensus Client via Engine API
-
External users/apps via RPC
-
Peers via devp2p
π₯ 3. ENGINE API (CL ↔ EL BRIDGE)
This is the bridge between PoS consensus and execution.
Used for:
-
newPayload(CL gives block payload to EL) -
getPayload(EL gives proposed block to CL) -
forkchoiceUpdated -
validator duties
-
syncing
This connection makes sure:
-
CL decides which block is canonical
-
EL executes the block and updates the state
π₯ 4. VALIDATOR CLIENT (VC)
A validator client connects to the consensus client (never to EL directly).
π₯ 5. DEVELOPERS & USERS (External)
They interact only with Execution Client RPC.
Examples of RPC methods:
-
eth_sendRawTransaction -
eth_call -
eth_getBalance -
eth_getLogs -
eth_getBlockByNumber
π THE COMPLETE MAP (FULL DIAGRAM)
π₯ SUMMARY (Perfect mental model)
-
Consensus Client ⇒ Decides which block is valid (attestations, PoS rules)
-
Execution Client ⇒ Executes what’s inside the block (EVM, state)
-
Engine API ⇒ Bridge between EL & CL
-
Validator Client ⇒ Signs duties only
-
RPC Server ⇒ Entry point for wallets/dApps
Comments
Post a Comment