💻Baremetal

Authors: [man4ela | catapulta.eth]

System Requirements

CPU
OS
RAM
DISK

8+ cores CPU

Debian 12/Ubuntu 22.04

=> 16 GB RAM

15GB+ (SSD or NVMe)

The Boba Mainnet archive node has a size of 12GB on July 29, 2024

Boba

Node Architecture

Pre-Requisites

Setting up Firewall

Set explicit default UFW rules

Allow SSH

Allow remote RPC connections with Blast Node

Enable Firewall

To check the status of UFW and see the current rules

Install dependencies

Required Software Dependencies

Dependency
Version
Version Check Command

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

Create systemd service for op-erigon

Start BOBA

Start op-erigon

It's usually simpler to begin with startingop-erigon before you start op-node. You can start op-erigon even if op-node isn't running yet, but op-erigon won't get any blocks until op-node starts.

Start op-node

Once you've started op-erigon, you can start op-node. op-node will connect to op-erigon and begin synchronizing the BOBA network. op-node will begin sending block payloads to op-erigon when it derives enough blocks from Ethereum

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

If it returns false then your node is fully synchronized with the network

References

Last updated

Was this helpful?