Running a Mainnet 0 Node

This page provides the specific configuration used to run different types of nodes in Mainnet 0.

circle-exclamation
circle-info

🫵 TL;DR: For operator running Decaf nodes, the critical changes from that configuration are as follows:

  • All URLs supplied by Espresso have changed

  • The new container image version is 20250228-patch3

  • The JSON-RPC endpoints specified by ESPRESSO_SEQUENCER_L1_PROVIDER and ESPRESSO_SEQUENCER_L1_WS_PROVIDER should be Ethereum mainnet endpoints instead of Sepolia

The container image to use for this deployment is

  • ghcr.io/espressosystems/espresso-sequencer/sequencer:20250228-patch3 (if using Espresso's images)

  • built off of the branch 20250228-patch3 (if building from source)

circle-info

The configuration for all node types includes ESPRESSO_SEQUENCER_GENESIS_FILE=/genesis/mainnet.toml. This file is built into the official Docker images. Operators building their own images will need to ensure this filearrow-up-right is included and their nodes are pointed at it.

1. Regular Node

Command

sequencer -- http -- catchup -- status

Environment

Same for all nodes

ESPRESSO_SEQUENCER_ORCHESTRATOR_URL=https://orchestrator-kdrhoi6lwz.main.net.espresso.network/
ESPRESSO_SEQUENCER_CDN_ENDPOINT=cdn.main.net.espresso.network:1737
ESPRESSO_STATE_RELAY_SERVER_URL=https://state-relay.main.net.espresso.network
ESPRESSO_SEQUENCER_GENESIS_FILE=/genesis/mainnet.toml
RUST_LOG="warn,libp2p=off"
RUST_LOG_FORMAT="json"
# At least one state peer is required. The following URL provided by Espresso works.
# Optionally, add endpoints for additional peers, separated by commas.
ESPRESSO_SEQUENCER_STATE_PEERS=https://query.main.net.espresso.network

Chosen by operators

Volumes

  • $ESPRESSO_SEQUENCER_STORAGE_PATH

  • $ESPRESSO_SEQUENCER_KEY_FILE

2. DA Node

circle-info

Requires operator to additionally run a Postgres server

Command

sequencer -- storage-sql -- http -- catchup -- status -- query

Environment

Same for all nodes

Chosen by operators

Volumes

  • $ESPRESSO_SEQUENCER_KEY_FILE

circle-info

Requires operator to additionally run a Postgres server

Command

sequencer -- storage-sql -- http -- catchup -- status -- query -- state

Environment

Same for all nodes

Chosen by operators

Volumes

  • $ESPRESSO_SEQUENCER_KEY_FILE

Hardware requirements

Hardware requirements are still in flux, but for now we recommend the following:

Non-DA Node: 1 Core CPU, 2GB memory DA Node: (Sequencer) 4 core CPU, 8GB memory + (Database) 2 Core, 4GB memory.

Storage (DA node): 1.2 TB SSD minimum, ability to scale on demand.

Storage (non-DA Node): Negligible, kilobytes

Last updated