simple-optimism-node
to run an OP Mainnet or OP Sepolia node using Docker.
simple-optimism-node
also provides useful tools like a monitoring dashboard and health checking software.
Although less flexible than running a node from source or building your own Docker setup, this is a great way to quickly get started with OP Mainnet.
By default,
simple-optimism-node
uses op-geth
as the execution client. Support for Nethermind
as an alternative execution client is also available.What’s included
simple-optimism-node
includes all the basic components to run an OP Mainnet or OP Sepolia node.
It also includes several additional services to monitor the health of your node and the health of the network you’re connected to.
See the What’s Included section of the simple-optimism-node
README for more details.
Dependencies
Setup
Clone thesimple-optimism-node
repository to get started.
Configuration
Configuration forsimple-optimism-node
is handled through environment variables inside of an .env
file.
1
Step-by-Step Guide to Creating an .env File
The repository includes a sample environment variable file located at
.env.example
that you can copy and modify to get started. Make a copy of this file and name it .env
.2
How to Configure the .env File for Your Node
Open the
.env
file in your favorite text editor. Set the variables inside of the REQUIRED (BEDROCK)
section of the file according to the guide below:NETWORK_NAME - Choose which Optimism network layer you want to operate on:op-mainnet
- OP Mainnetop-sepolia
- OP Sepolia (Testnet)base-mainnet
- Base Mainnetbase-sepolia
- Base Sepolia (Testnet)
full
(Full node) - A Full node contains a few recent blocks without historical states.archive
(Archive node) - An Archive node stores the complete history of the blockchain, including historical states.
op-geth
- The original execution client for OP Stack (default if not specified)nethermind
- Alternative high-performance execution client written in C#
https://xxx-xxx-xxx.quiknode.pro/db55a3908ba7e4e5756319ffd71ec270b09a7dce
.OP_NODE__RPC_TYPE - Specify the service provider for the RPC endpoint you’ve chosen in the previous step. The available options are:alchemy
- Alchemyquicknode
- Quicknode (ETH only)erigon
- Erigonbasic
- Other providers
- OP Mainnet - https://mainnet.optimism.io
- OP Sepolia - https://sepolia.optimism.io
- Base Mainnet - https://mainnet.base.org
- Base Sepolia - https://sepolia.base.org
Run the node
Once you’ve configured your.env
file, you can run the node using Docker Compose.
The following command will start the node in the background.
.env
file. If you didn’t specify an execution client, op-geth
will be used by default.
Upgrade the node
Pull the latest updates from GitHub, Docker Hub and rebuild the container.Operating the node
You can use Docker Compose to interact with the node and manage the various containers that you started. Refer to the Operating the Node section of thesimple-optimism-node
README for more information.
Checking node status
simple-optimism-node
includes a monitoring dashboard that you can use to check the status of your node.
You can access the dashboard by visiting http://localhost:3000
in your browser.
Refer to the Grafana dashboard section of the simple-optimism-node
README for more information.
Another way to check the node syncing progress is to run ./progress.sh
, which will print output showing the number of blocks per second and the estimated time until synchronization is completed.