Skip to content

Commit da27336

Browse files
JacksonEimattsse
andauthored
docs: add architecture diagrams to ExEx documentation (#20193)
Co-authored-by: Matthias Seitz <[email protected]>
1 parent 2e567d6 commit da27336

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

docs/vocs/docs/pages/exex/how-it-works.mdx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
729
ExExes are just [Futures](https://doc.rust-lang.org/std/future/trait.Future.html) that run indefinitely alongside Reth
830
– as simple as that.
931

docs/vocs/docs/pages/exex/overview.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,27 @@ initiated by Reth.
1717

1818
Read 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

2243
Execution Extensions are not separate processes that connect to the main Reth node process.

0 commit comments

Comments
 (0)