docs: add architecture diagrams to ExEx documentation (#20193)

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
Block Wizard
2025-12-11 13:41:15 +02:00
committed by GitHub
parent 2e567d6658
commit da27336a1e
2 changed files with 43 additions and 0 deletions

View File

@@ -4,6 +4,28 @@ description: How Execution Extensions (ExExes) work in Reth.
# How do ExExes work?
## Architecture
```mermaid
sequenceDiagram
participant Reth
participant ExEx
Note over Reth,ExEx: Normal Flow
Reth->>ExEx: ChainCommit Notification
activate ExEx
ExEx->>ExEx: Process Block Data
ExEx->>Reth: FinishedHeight Event
deactivate ExEx
Note over Reth,ExEx: Reorg Flow
Reth->>ExEx: ChainReorg Notification
activate ExEx
ExEx->>ExEx: Rollback & Re-process
ExEx->>Reth: New FinishedHeight Event
deactivate ExEx
```
ExExes are just [Futures](https://doc.rust-lang.org/std/future/trait.Future.html) that run indefinitely alongside Reth
as simple as that.

View File

@@ -17,6 +17,27 @@ initiated by Reth.
Read more about things you can build with Execution Extensions in the [Paradigm blog](https://www.paradigm.xyz/2024/05/reth-exex).
## Architecture
```mermaid
graph LR
subgraph "Reth Process"
Reth[Reth Core]
Reth -->|Notifications| ExEx1[ExEx 1]
Reth -->|Notifications| ExEx2[ExEx 2]
Reth -->|Notifications| ExEx3[ExEx N]
ExEx1 -->|Events| Reth
ExEx2 -->|Events| Reth
ExEx3 -->|Events| Reth
end
ExEx1 --> External1[External System 1]
ExEx2 --> External2[External System 2]
ExEx3 --> External3[External System N]
```
## What Execution Extensions are not
Execution Extensions are not separate processes that connect to the main Reth node process.