Using blobs
The proposed Ecotone upgrade impacts node operators because of the new Beacon
endpoint for op-node
. Soon after the Ecotone activation, batch transactions
will be sent as 4844 blobs, and blobs can only be retrieved from Beacon nodes.
This means node operators will need access to a beacon node/consensus client
(i.e. Lighthouse, Lodestar, Nimbus, Prysm, Teku, etc.).
Preparing your node
These steps are necessary for EVERY node operator:
Update to the latest release
See the Software Releases page for the minimum release version.
Configure the Ecotone activation date
- If you are operating a node for an OP Chain that has an entry in the
superchain-registry
(opens in a new tab), the Ecotone activation date is part of theop-node
andop-geth
nodes. So, no action is needed for the sequencer after upgrading to the latest release. - For node operators of custom chains not included in the
superchain-registry
(opens in a new tab), the activation dates can be set in therollup.json
(setecotone_time
) or set the activation time via overrides (CLI) in bothop-node
andop-geth
. These will need to be set onop-node
andop-geth
for the sequencer and all other nodes.
Even if the ecotone activation is configured via the rollup.json
, it still
needs to be configured separately on op-geth
via command line flag.
--override.ecotone value (default: 0) ($OP_NODE_OVERRIDE_ECOTONE)
Manually specify the Ecotone fork timestamp, overriding the bundled setting
Prepare for activation
- All node operators must set an L1 beacon value in your
op-node
as soon as you update to the latest release.
--l1.beacon value ($OP_NODE_L1_BEACON)
HTTP endpoint Address of L1 Beacon-node.
- Either run your own L1 beacon node like Lighthouse (opens in a new tab) or use a third-party beacon node RPC service, like Quicknode (opens in a new tab).
Configure a blob archiver (archive nodes)
There is a configurable beacon-archiver
that will allow nodes to sync blob data that is older than 18 days - after blobs are 18 days old, normal beacon nodes will "prune" or remove them. If your node is already in sync with the head of the chain, you won't need to use a beacon-archiver
.
- If you're spinning up a new node, if you load it from a snapshot that's within 18 days (the amount of time until blobs are pruned) you will not need to use a
beacon-archiver
at all as long as your node does not fall offline for more than 18 days. - If you're running a new node that is syncing more than 18 days (the amount of time until blobs are pruned) after Ecotone launch, then you will need to configure a
beacon-archiver
on theop-node
.
--l1.beacon-archiver value ($OP_NODE_L1_BEACON)
HTTP Endpoint of a Blob Archiver or an L1 Beacon-node that does not prune blobs
Choose one of the following options to access a beacon archiver endpoint:
- Option 1: Run a beacon node with blobs pruning disabled. For example, you can run your own L1 beacon node like Lighthouse (opens in a new tab) and configure it to retain all blobs and use that endpoint here.
# lighthouse
--prune-blobs=false
- Option 2: Run a
blob-archiver
and configureop-node
to use theblob-archiver
API service with--l1.beacon-archiver
. Running ablob-archiver
is lighter weight than running a beacon node that does not prune blobs: https://github.com/base-org/blob-archiver (opens in a new tab). There is a configurablebeacon-archiver
that will allow nodes to sync blob data that is older than 18 days - after blobs are 18 days old, normal beacon nodes will "prune" or remove them. If your node is already in sync with the head of the chain, you won't need to use abeacon-archiver
.- If you're spinning up a new node, if you load it from a snapshot that's within 18 days (the amount of time until blobs are pruned) you will not need to use a
beacon-archiver
at all as long as your node does not fall offline for more than 18 days. - If you're running a new node that is syncing more than 18 days (the amount of time until blobs are pruned) after Ecotone launch, then you will need to configure a
beacon-archiver
on theop-node
.
- If you're spinning up a new node, if you load it from a snapshot that's within 18 days (the amount of time until blobs are pruned) you will not need to use a
--l1.beacon-archiver value ($OP_NODE_L1_BEACON)
HTTP Endpoint of a Blob Archiver or an L1 Beacon-node that does not prune blobs
- Option 3: If you don't want to operate any Beacon infrastructure, you can use an external service that provides access to pruned Blobs.