diff --git a/docs/run-arbitrum-node/02-run-full-node.mdx b/docs/run-arbitrum-node/02-run-full-node.mdx index d793fa924..df6b8b565 100644 --- a/docs/run-arbitrum-node/02-run-full-node.mdx +++ b/docs/run-arbitrum-node/02-run-full-node.mdx @@ -61,6 +61,12 @@ We provide a summary of the available parameters here, but we recommend reading - Note that these parameters get ignored if a database already exists - When running more than one node, it's easier to manually download the different parts of the snapshot, join them into a single archive, and host it locally for your nodes. Please see [Downloading the snapshot manually](/run-arbitrum-node/nitro/03-nitro-database-snapshots.mdx#downloading-the-snapshot-manually) for instructions on how to do that. +:::warning Fusaka upgrade: Historical blobs + +If running a beacon node, historical data will now be in blobs. To make this transition to using historical blobs refer to the [Historical Blobs for Beacon Nodes](/run-arbitrum-node/beacon-nodes-historical-blobs.mdx) guide. + +::: + ### Required parameters The following list contains all the parameters needed to configure your node. Select the appropriate option depending on the chain you want to run your node for. diff --git a/docs/run-arbitrum-node/beacon-nodes-historical-blobs.mdx b/docs/run-arbitrum-node/beacon-nodes-historical-blobs.mdx new file mode 100644 index 000000000..e0fd9e2d4 --- /dev/null +++ b/docs/run-arbitrum-node/beacon-nodes-historical-blobs.mdx @@ -0,0 +1,76 @@ +--- +title: 'Beacon Nodes: Historical Blobs' +description: Learn more about the impacts of the Fusaka upgrade when running a beacon node. +author-objective: Build a how-to to guide users in how to transition to using historical blobs. +reader-audience: Technical readers who are familiar with command lines and familiar with Arbitrum and Ethereum +reader-task: Learn how to upgrade to using historical blobs post the Fusaka upgrade when running a beacon node. +content_type: overview +--- + +The Fulu consensus node upgrade in Fusaka will activate Ethereum's PeerDAS ([`EIP-7594`](https://eips.ethereum.org/EIPS/eip-7594)), with Sepolia's upgrade on October 14th and Mainnet targeting the week of December 3rd. + +Layer 2 network operators must connect to an Ethereum beacon chain node with historical blob data to ensure proper functioning of the Nitro node software, or risk failure in fetching blob data. + +## Impacted audiences + +Required action will be required from: RPC nodes, Arbitrum One / Nova node operators, Arbitrum (Orbit) chain node operators + +#### If you run a Nitro node and use an external L1 Ethereum beacon chain RPC URL + +- Confirm that your external L1 beacon chain RPC provider has configured their L1 beacon chain node to subscribe to all subnets **before the Ethereum Fusaka hard fork**. For chains that post data to Ethereum Sepolia, the Ethereum Sepolia Fusaka hard fork is expected on October 14th, 2025. +- For chains that post data to Ethereum Mainnet, the Ethereum Mainnet Fusaka hard fork is expected around the first week of December 2025. + +#### If your external L1 beacon chain RPC doesn't subscribe to all subnets: + +- Switch to a provider that does before the dates above. + +#### If you run a Nitro node and operate your own L1 Ethereum beacon chain node: + +- Add the new flag (refer to [specific client flags](#specific-client-flags)) to your beacon node's configuration before the Ethereum Fusaka hard fork. For chains that post data to Ethereum Sepolia, the Ethereum Sepolia Fusaka hard fork is expected on October 14th, 2025. +- For chains that post data to Ethereum Mainnet, the Ethereum Mainnet Fusaka hard fork is expected around the first week of December 2025. +- If you haven't added the new flag before the above deadlines, temporarily switch to an external L1 beacon chain RPC URL while your local Ethereum beacon chain node syncs up. + +:::info Note + +Ensure that the external L1 beacon chain RPC provider you're using subscribes to all subnets. + +::: + +- Once your beacon chain node is fully synchronized, you can switch back to your own L1 beacon chain RPC URL (from an external L1 beacon chain RPC URL). + +## L1 beacon chain node flags + +### Prysm Consensus Layer clients + +Prysm nodes have a new beacon node flag `--subscribe-all-data-subnets` that needs to be added to P2P options. Refer to the [Prysm command-line options documentation](https://prysm.offchainlabs.com/docs/configure-prysm/parameters/) for configuration details. + +This flag is available as of Prysm v6.1.0. We recommend upgrading to the [latest stable Prysm releases](https://github.com/OffchainLabs/prysm/releases) to ensure you have the most recent features and security updates. + +### Other Consensus Layer clients + +Other Consensus Layer nodes also have flags to ensure they sync data from across all subnets. + +:::warning Verification + +The Offchain Labs team hasn't verified the accuracy of the flags below, including the corresponding versions that support these flags. Consult the respective release notes and documentation for non-Prysm consensus layer clients to ensure you're adding the correct flags. + +::: + +### Specific client flags + +| Client | Flag | +| ---------- | --------------------------------------------- | +| Lighthouse | `--supernode` | +| Teku | `--p2p-subscribe-all-custody-subnets-enabled` | +| Grandine | `--subscribe-all-data-column-subnets` | +| Lodestar | `--supernode` | +| Nimbus | `--debug-peerdas-supernode` | + +## Checklist + +To maintain uninterrupted node operation and blob availability: + +- Add the appropriate flag for your consensus layer client. +- Verify your Sepolia beacon endpoint’s configuration before October 14th. +- Verify your Mainnet beacon endpoint’s configuration before the first week of December. +- If you can't update your configuration in time, we recommend using temporary hosted beacon endpoints. diff --git a/sidebars.js b/sidebars.js index bfe9aa0da..4c33e9e64 100644 --- a/sidebars.js +++ b/sidebars.js @@ -521,6 +521,11 @@ const sidebars = { id: 'run-arbitrum-node/run-feed-relay', label: 'Run a feed relay', }, + { + type: 'doc', + id: 'run-arbitrum-node/beacon-nodes-historical-blobs', + label: 'Historical blobs', + }, { type: 'html', value: diff --git a/vercel.json b/vercel.json index a22c01a13..3392afe3e 100644 --- a/vercel.json +++ b/vercel.json @@ -235,6 +235,11 @@ "destination": "/build-decentralized-apps/reference/mainnet-risks", "permanent": false }, + { + "source": "/(docs/partials/_fusaka-historical-blobs/?)", + "destination": "/(docs/run-arbitrum-node/beacon-nodes-historical-blobs/?)", + "permanent": false + }, { "source": "/(docs/partials/glossary/_fast-exit--liquidity-exit/?)", "destination": "/(docs/partials/glossary/_fast-exit-liquidity-exit/?)",