💻Baremetal
Authors: [man4ela | catapulta.eth]
System Requirements
8+ cores CPU
Debian 12/Ubuntu 22.04
=> 16 GB RAM
15GB+ (SSD or NVMe)
Boba
Boba is built on the Optimistic Rollup developed by Optimism.
In this guide, we are walking through the process of setting up a Boba Mainnet archive node using a forked version of Optimism's op-erigon, op-node and l2geth. These three components must be configured together to ensure that the node can effectively serve all historical data, which may be necessary when an Indexer syncs a specific subgraph on the Boba Network

Before you start, make sure that you have your own synced Ethereum L1 RPC URL (e.g. Erigon) and L1 Consensus Layer Beacon endpoint with all historical blobs data (e.g. Lighthouse) ready.
Hint: https://console.chainstack.com/user/account/create has a free plan enough to sync a node
Pre-Requisites
Setting up Firewall
Set explicit default UFW rules
Allow SSH
Allow remote RPC connections with Blast Node
Not advised to allow all or unknown IP address to RPC port
Enable Firewall
To check the status of UFW and see the current rules
Install dependencies
Required Software Dependencies
go
^1.21
go version
node
^20
node --version
pnpm
^8
pnpm --version
foundry
^0.2.0
forge --version
make
^4
make --version
yarn
1.22.21
yarn --version
nvm
0.39.3
nvm --verison
Install GO
Install nvm
Download foundry
Install foundry
Install node and yarn
Check if go and all dependancies are installed
Build the Rollup Node (op-node)
Clone the Boba Monorepo
Check out the required release branch
Release branches are created when new versions of the op-node are created. Read through the Releases page to determine the correct branch to check out.
Build op-node
Create database directory and jwt secret file
Create systemd service for op-node
Build Legacy Geth (l2geth)
Clone the Boba Legacy Monorepo and build l2geth:
Create database directory for l2geth, download and extract archive snapshot:
Create systemd service for l2geth
Paste the configs and save by entering ctrl+X and Y+ENTER:
Build the Execution Engine (op-Erigon)
Release branches are created when new versions of the erigon are created. Read through the Releases page to determine the correct branch to check out.
Create database directory, download and extract the most recent snapshot
Consider verifying a snapshot by comparing the sha256sum of the downloaded file to the sha256sum listed on this page. Check the sha256sum of the downloaded file by running sha256sum <filename>in a terminal
Create systemd service for op-erigon
Start BOBA
Start op-erigon
Start op-node
Start l2geth
Monitor the logs for errors
During the initial synchonization, you are expected to get following log messages from op-node
After a few minutes, op-node finds the right batch and then it starts synchronizing. During this synchonization process, you get log messags from op-node
Run curl command in the terminal to check the status of your node
curl command in the terminal to check the status of your nodeIf it returns false then your node is fully synchronized with the network
References
Last updated
Was this helpful?