githubEdit

💻Baremetal

Authors: [payne | stakesquid]

System Requirements

CPU
OS
RAM
DISK

8+ cores CPU

Debian 12/Ubuntu 22.04

=> 16 GB RAM

2TB+ op-erigon 3.5TB+ l2geth (legacy)

circle-info

Op-erigon reached a size of 2TB by Jan 10, 2025 L2-geth is 3.4TB

Optimism 🔵

circle-exclamation
circle-exclamation

Pre-Requisites

sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y

sudo apt install -y git make wget gcc pkg-config libusb-1.0-0-dev libudev-dev jq gcc g++ curl libssl-dev screen apache2-utils build-essential pkg-config

Setting up Firewall

Set explicit default UFW rules

sudo ufw default deny incoming
sudo ufw default allow outgoing

Allow SSH

Allow remote RPC connections with Optimism Node

circle-exclamation

Enable Firewall

Download a snapshot

Snapshots URL: https://snapshot.testinprod.io/

Create a directory and start downloading an archive in screen session as it takes ~9 hours

Compile Op-node

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

Create directories

Build op-node

#The binary is built at /root/github/optimism/op-node/bin/op-node

Create systemd service

circle-exclamation

Compile Erigon

Create JWT secret file and download genesis and rollup .json files

Create systemd service

Sync using downloaded Snapshot

#Unzipping takes ~3-4 hrs so you can go touch some grass

Consider switching screen by pressingctrl A+Dto allow a process run in the background

After extracting is done move the contents of geth directory into op-erigon data directoy:

Start op-erigon

circle-info

To check or modify op-erigon.service parameters simply run

sudo nano /etc/systemd/system/op-erigon.service

Ctrl+X and Y to save changes

Last updated

Was this helpful?