File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed
docs/vocs/docs/pages/exex Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,28 @@ description: How Execution Extensions (ExExes) work in Reth.
44
55# How do ExExes work?
66
7+ ## Architecture
8+
9+ ``` mermaid
10+ sequenceDiagram
11+ participant Reth
12+ participant ExEx
13+
14+ Note over Reth,ExEx: Normal Flow
15+ Reth->>ExEx: ChainCommit Notification
16+ activate ExEx
17+ ExEx->>ExEx: Process Block Data
18+ ExEx->>Reth: FinishedHeight Event
19+ deactivate ExEx
20+
21+ Note over Reth,ExEx: Reorg Flow
22+ Reth->>ExEx: ChainReorg Notification
23+ activate ExEx
24+ ExEx->>ExEx: Rollback & Re-process
25+ ExEx->>Reth: New FinishedHeight Event
26+ deactivate ExEx
27+ ```
28+
729ExExes are just [ Futures] ( https://doc.rust-lang.org/std/future/trait.Future.html ) that run indefinitely alongside Reth
830– as simple as that.
931
Original file line number Diff line number Diff line change @@ -17,6 +17,27 @@ initiated by Reth.
1717
1818Read more about things you can build with Execution Extensions in the [ Paradigm blog] ( https://www.paradigm.xyz/2024/05/reth-exex ) .
1919
20+ ## Architecture
21+
22+ ``` mermaid
23+ graph LR
24+ subgraph "Reth Process"
25+ Reth[Reth Core]
26+
27+ Reth -->|Notifications| ExEx1[ExEx 1]
28+ Reth -->|Notifications| ExEx2[ExEx 2]
29+ Reth -->|Notifications| ExEx3[ExEx N]
30+
31+ ExEx1 -->|Events| Reth
32+ ExEx2 -->|Events| Reth
33+ ExEx3 -->|Events| Reth
34+ end
35+
36+ ExEx1 --> External1[External System 1]
37+ ExEx2 --> External2[External System 2]
38+ ExEx3 --> External3[External System N]
39+ ```
40+
2041## What Execution Extensions are not
2142
2243Execution Extensions are not separate processes that connect to the main Reth node process.
You can’t perform that action at this time.
0 commit comments