diff --git a/pages/builders/chain-operators/architecture.mdx b/pages/builders/chain-operators/architecture.mdx index 306cbb170..a719bc439 100644 --- a/pages/builders/chain-operators/architecture.mdx +++ b/pages/builders/chain-operators/architecture.mdx @@ -5,7 +5,7 @@ description: Learn about the OP chain architecture. --- import Image from 'next/image' - +import { Callout } from 'nextra/components' import {OpProposerDescriptionShort} from '@/content/index.js' # Chain Architecture @@ -82,6 +82,10 @@ The Sequencer node works with the batcher and proposer to create new blocks. So handle the state changing RPC request `eth_sendRawTransaction`. It can be peered with replica nodes to gossip new `unsafe` blocks to the rest of the network. + +To run a rollup, you need a minimum of one archive node. This is required by the proposer as the the data that it needs can be older than the data available to a full node. Note that since the proposer doesn't care what archive node it points to, you can technically point it towards an archive node that isn't the sequencer. + + Sequencer Node Diagram ### Replica node diff --git a/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx b/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx index ae04d2345..dfb7c1a30 100644 --- a/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx +++ b/pages/builders/chain-operators/tutorials/create-l2-rollup.mdx @@ -531,7 +531,7 @@ cd ~/op-geth You're using `--gcmode=archive` to run `op-geth` here because this node will act as your Sequencer. It's useful to run the Sequencer in archive mode because the `op-proposer` requires access to the full state. -Feel free to run other (non-Sequencer) nodes in full mode if you'd like to save disk space. +Feel free to run other (non-Sequencer) nodes in full mode if you'd like to save disk space. Just make sure at least one other archive node exists and the `op-proposer` points to it.