From b88065d6bdf0e317cfd490ff7779254778b00f30 Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin Date: Fri, 14 Jun 2024 16:48:43 +0100 Subject: [PATCH] docs(book): clarify what ExExes are not (#8805) Co-authored-by: Oliver Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com> --- book/SUMMARY.md | 1 + book/developers/exex/exex.md | 14 ++++++++++++-- book/developers/exex/remote.md | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 book/developers/exex/remote.md diff --git a/book/SUMMARY.md b/book/SUMMARY.md index 1a39a0d87..e7fa1ea68 100644 --- a/book/SUMMARY.md +++ b/book/SUMMARY.md @@ -76,4 +76,5 @@ - [Execution Extensions](./developers/exex/exex.md) - [How do ExExes work?](./developers/exex/how-it-works.md) - [Hello World](./developers/exex/hello-world.md) + - [Remote](./developers/exex/remote.md) - [Contribute](./developers/contribute.md) diff --git a/book/developers/exex/exex.md b/book/developers/exex/exex.md index 0c3199bc8..f0cd08d4a 100644 --- a/book/developers/exex/exex.md +++ b/book/developers/exex/exex.md @@ -2,17 +2,27 @@ ## What are Execution Extensions? -Execution Extensions allow developers to build their own infrastructure that relies on Reth +Execution Extensions (or ExExes, for short) allow developers to build their own infrastructure that relies on Reth as a base for driving the chain (be it [Ethereum](../../run/mainnet.md) or [OP Stack](../../run/optimism.md)) forward. An Execution Extension is a task that derives its state from changes in Reth's state. Some examples of such state derivations are rollups, bridges, and indexers. +They are called Execution Extensions because the main trigger for them is the execution of new blocks (or reorgs of old blocks) +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). +## What Execution Extensions are not + +Execution Extensions are not separate processes that connect to the main Reth node process. +Instead, ExExes are compiled into the same binary as Reth, and run alongside it, using shared memory for communication. + +If you want to build an Execution Extension that sends data into a separate process, check out the [Remote](./remote.md) chapter. + ## How do I build an Execution Extension? -Let's dive into how to build our own ExEx (short for Execution Extension) from scratch, add tests for it, +Let's dive into how to build our own ExEx from scratch, add tests for it, and run it on the Holesky testnet. 1. [How do ExExes work?](./how-it-works.md) diff --git a/book/developers/exex/remote.md b/book/developers/exex/remote.md new file mode 100644 index 000000000..a3ac9ff2e --- /dev/null +++ b/book/developers/exex/remote.md @@ -0,0 +1,3 @@ +# Remote Execution Extensions + +WIP