L2 Archive Node Setup guide
Welcome to this guide on setting up rollup nodes (optimism and base) for watchtower clients.
A watchtower client needs a rollup node to locally and independently verify transactions on an optimistic blockchain network. In this guide, we will be using the docker compose utility to setup the L2 archive node(s).
Clone the setup repository
First, lets clone the setup-rollup repository that contains docker compose YAML file.
Note: The disk must have at least 2 TB of free disk space.
Step 2: Configure the network parameters
There are two main files (geth.yml
and node.yml
) that need to be configure with the rollup network parameters.
In the geth.yml
, make the following changes:
Change the
--network=<value>
with one of the following values:op-mainnet
for optimism, andbase-mainnet
for base. A full list of network options is available at Optimism Docs.
In the node.yml
, file configure the following three parameters:
Change the
--network=<value>
to the rollup that you configured in the previous step, i.e.op-mainnet
orbase-mainnet
.Change the
--l1=<value>
to your L1 (Ethereum Mainnet) node address.Change the
--l1.beacon=<value>
to your Ethereum Mainnet beacon node. Rollup node fetch blobs of EIP-4844: Shard Blob Transactions. This transaction type is by rollup's sequencer to reduce transaction costs when posting transactions to mainnet chain.
Step 3: Generate the secret authentication secret
Generate a secret authentication token which is used by geth and node to authenticate each other.
Step 4: Start the geth and node containers
Finally, start the geth and node containers with the following command:-
The optimistic rollup nodes sync using snap sync, which takes couple of hours depending on your network bandwidth and peers available for the rollup that you are syncing.
Keeping track
The sync consists of three stages. First, the beacon headers are downloaded, then chain blocks, and finally chain state is downloaded. During the sync process you will see the following logs.
Initially, you will get the following logs:
Once, you are connected to some peers you will get following logs (notice the difference towards end of the log) :
After, you are connected to at least one peer, the sync process starts, and you will see the following log messages syncing beacon headers:
Log messages during chain download:
Log messages during state download:-
When the rollup node is fully synced, you will see following messages:
Last updated