You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/base-chain/node-operators/run-a-base-node.mdx
+33Lines changed: 33 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -149,3 +149,36 @@ A successful response will include block data from the latest Flashblock. If Fla
149
149
### Available RPC Methods
150
150
151
151
Your Flashblocks-aware node supports all standard Ethereum JSON-RPC methods plus Flashblocks-specific methods and WebSocket subscriptions. See the [Flashblocks API Reference](/base-chain/api-reference/flashblocks-api/flashblocks-api-overview) for the full list, including code examples and parameter details.
152
+
153
+
## Enable Historical Proofs RPCs
154
+
155
+
To serve methods like `eth_getProof`, `debug_executionWitness` and `debug_executePayload` efficiently, you'll need to set up the historical proofs execution extension (ExEx). This ExEx manages a separate database with data required to serve these methods. This database can add hundreds of GB of additional storage and requires a machine with higher I/O throughput. Most people do not need these RPCs to be available.
156
+
157
+
In order to run the historical proofs ExEx, you simply need to set this environment variable:
158
+
159
+
```bash Terminal
160
+
RETH_HISTORICAL_PROOFS=true
161
+
```
162
+
163
+
When the node starts up for the first time, it will backfill existing state to the new proofs database in `<datadir>/proofs`. This process can take a while (24-48 hours for mainnet).
164
+
165
+
To skip the backfill, snapshots of the proofs database are available. See the [Snapshots](/base-chain/node-operators/snapshots#proofs-snapshots) page for download instructions.
166
+
167
+
<Note>
168
+
The block at which the ExEx first starts will be the earliest block for which these RPCs are available. The flag `--rpc.eth-proof-window` is ignored when the proofs ExEx is enabled.
169
+
170
+
By default, the ExEx saves 28 days of blocks, but you can customize this by setting `RETH_PROOFS_HISTORY_WINDOW=<num_blocks>`.
171
+
</Note>
172
+
173
+
### Improving Performance
174
+
175
+
The proofs ExEx performs best when it is within 1024 blocks of the chain tip. This means when syncing up to tip, performance can be degraded. During initial sync on Base Mainnet, the ExEx may fall too far behind to catch up on its own.
176
+
177
+
To fix this, you can run `base-consensus` in follow mode so it stays within 512 blocks of the proofs ExEx.
178
+
179
+
```bash Terminal
180
+
BASE_NODE_SOURCE_L2_RPC=<trusted_rpc>
181
+
BASE_NODE_PROOFS=true
182
+
```
183
+
184
+
You can verify that the proofs ExEx is syncing efficiently by checking that the state root and execution durations are 0. The ExEx is not executing blocks in this case; instead it's just writing data from executed blocks to disk.
Copy file name to clipboardExpand all lines: docs/base-chain/node-operators/snapshots.mdx
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,3 +61,14 @@ These steps assume you are in the cloned `node` directory (the one containing `d
61
61
Your node should begin syncing from the last block in the snapshot.
62
62
63
63
6.**Verify and Clean Up**: Monitor the node logs (`docker compose logs -f <service_name>`) or use the [sync monitoring](/base-chain/node-operators/run-a-base-node#syncing) command to ensure the node starts syncing from the snapshot's block height. Once confirmed, you can safely delete the downloaded snapshot archive (`.tar.gz` file) to free up disk space.
64
+
65
+
## Proofs Snapshots
66
+
67
+
If you are running the [historical proofs ExEx](/base-chain/node-operators/run-a-base-node#enable-historical-proofs-rpcs), snapshots of the proofs database are available to skip the 24-48 hour backfill.
0 commit comments