Skip to content

Commit 02d8409

Browse files
authored
docs: Docs on debug transactions (#18997)
This PR adds a section to the node/sequencer docs on the use of trace transactions on L1.
2 parents 5c34714 + 65bd30b commit 02d8409

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

docs/docs-network/setup/running_a_node.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ DATA_DIRECTORY=./data
4848
LOG_LEVEL=info
4949
ETHEREUM_HOSTS=[your L1 execution endpoint]
5050
L1_CONSENSUS_HOST_URLS=[your L1 consensus endpoint]
51+
ETHEREUM_DEBUG_HOSTS=[your trace capable L1 execution endpoint]
5152
P2P_IP=[your external IP address]
5253
P2P_PORT=40400
5354
AZTEC_PORT=8080
@@ -58,6 +59,12 @@ AZTEC_ADMIN_PORT=8880
5859
Find your public IP address with: `curl ipv4.icanhazip.com`
5960
:::
6061

62+
:::warning
63+
In order to retrieve blocks posted to L1 via non-standard contract interactions, it is necessary to have access to an L1 rpc endpoint with 'trace' capability (either `trace_transaction` or `debug_traceTransaction`). The variable `ETHEREUM_DEBUG_HOSTS` is used to provide these url/s to the node. If not provided, the value of this will default to that set in `ETHEREUM_HOSTS`. The node will validate whether it is able to execute a trace call on the provided url/s, if not, it looks to the value set in `ETHEREUM_ALLOW_NO_DEBUG_HOSTS` to determine whether this should prevent the node from starting. By default `ETHEREUM_ALLOW_NO_DEBUG_HOSTS` is `true`, allowing the node to start. Any url provided in `ETHEREUM_DEBUG_HOSTS` will only be used in the case of having to execute a trace, it won't be used in regular L1 interactions.
64+
65+
Note - if the node does not have access to an rpc url that is capable of trace calls and it encounters a block posted via a transaction using non-standard contract interactions, it may become stuck and unable to progress the chain.
66+
:::
67+
6168
### Step 3: Create Docker Compose File
6269

6370
Create a `docker-compose.yml` file in your `aztec-node` directory:
@@ -78,6 +85,7 @@ services:
7885
LOG_LEVEL: ${LOG_LEVEL}
7986
ETHEREUM_HOSTS: ${ETHEREUM_HOSTS}
8087
L1_CONSENSUS_HOST_URLS: ${L1_CONSENSUS_HOST_URLS}
88+
ETHEREUM_DEBUG_HOSTS: ${ETHEREUM_DEBUG_HOSTS}
8189
P2P_IP: ${P2P_IP}
8290
P2P_PORT: ${P2P_PORT}
8391
AZTEC_PORT: ${AZTEC_PORT}

docs/docs-network/setup/sequencer_management.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,7 @@ KEY_STORE_DIRECTORY=./keys
286286
LOG_LEVEL=info
287287
ETHEREUM_HOSTS=[your Ethereum mainnet execution endpoint, or a comma separated list if you have multiple]
288288
L1_CONSENSUS_HOST_URLS=[your Ethereum mainnet consensus endpoint, or a comma separated list if you have multiple]
289+
ETHEREUM_DEBUG_HOSTS=[your trace capable L1 execution endpoint]
289290
P2P_IP=[your external IP address]
290291
P2P_PORT=40400
291292
AZTEC_PORT=8080
@@ -296,6 +297,12 @@ AZTEC_ADMIN_PORT=8880
296297
Find your public IP address with: `curl ipv4.icanhazip.com`
297298
:::
298299
300+
:::warning
301+
In order to retrieve blocks posted to L1 via non-standard contract interactions, it is necessary to have access to an L1 rpc endpoint with 'trace' capability (either `trace_transaction` or `debug_traceTransaction`). The variable `ETHEREUM_DEBUG_HOSTS` is used to provide these url/s to the node. If not provided, the value of this will default to that set in `ETHEREUM_HOSTS`. The node will validate whether it is able to execute a trace call on the provided url/s, if not, it looks to the value set in `ETHEREUM_ALLOW_NO_DEBUG_HOSTS` to determine whether this should prevent the node from starting. By default `ETHEREUM_ALLOW_NO_DEBUG_HOSTS` is `true`, allowing the node to start. Any url provided in `ETHEREUM_DEBUG_HOSTS` will only be used in the case of having to execute a trace, it won't be used in regular L1 interactions.
302+
303+
Note - if the node does not have access to an rpc url that is capable of trace calls and it encounters a block posted via a transaction using non-standard contract interactions, it may become stuck and unable to progress the chain.
304+
:::
305+
299306
### Step 5: Create Docker Compose File
300307
301308
Create a `docker-compose.yml` file in your `aztec-sequencer` directory:
@@ -318,6 +325,7 @@ services:
318325
LOG_LEVEL: ${LOG_LEVEL}
319326
ETHEREUM_HOSTS: ${ETHEREUM_HOSTS}
320327
L1_CONSENSUS_HOST_URLS: ${L1_CONSENSUS_HOST_URLS}
328+
ETHEREUM_DEBUG_HOSTS: ${ETHEREUM_DEBUG_HOSTS}
321329
P2P_IP: ${P2P_IP}
322330
P2P_PORT: ${P2P_PORT}
323331
AZTEC_PORT: ${AZTEC_PORT}

0 commit comments

Comments
 (0)