Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions docs/vocs/docs/pages/exex/how-it-works.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
21 changes: 21 additions & 0 deletions docs/vocs/docs/pages/exex/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading