title | lang | description |
---|---|---|
Using Blobs |
en-US |
Learn how to handle blobs for your node. |
import { Callout, Steps } from 'nextra/components' import { Tabs } from 'nextra/components'
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.).
These steps are necessary for EVERY node operator:
### Update to the latest releaseSee the Software Releases page for the minimum release version.
- If you are operating a node for an OP Chain that has an entry in the
superchain-registry
, 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
, 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.
<Tabs items={['op-node', 'op-geth']}>
<Tabs.Tab>
shell --override.ecotone value (default: 0) ($OP_NODE_OVERRIDE_ECOTONE) Manually specify the Ecotone fork timestamp, overriding the bundled setting
</Tabs.Tab>
<Tabs.Tab>
shell --override.ecotone value (default: 0) ($GETH_OVERRIDE_ECOTONE) Manually specify the Optimism Ecotone fork timestamp, overriding the bundled setting
</Tabs.Tab>
- 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 or use a third-party beacon node RPC service, like Quicknode.
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 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. 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.