💻Baremetal
Authors: [man4ela | catapulta.eth]
System Requirements
8+ cores CPU
Debian 12/Ubuntu 22.04
=> 16 GB RAM
6TB+ (NVME preffered)
Base 🔵
Base is a secure, low-cost Ethereum L2 built on Optimism’s open-source OP Stack. In this guide, Optimism's op-geth and op-nodebinaries are built from source to facilitate the node's installation. This method has proved to sync an archive node successfully in ~48 hours using the official snapshot provided by the Base team.
Before you start, make sure that you have your own synced Ethereum L1 RPC URL (e.g. Erigon) and L1 Consensus Layer Beacon endpoint (e.g. Lighthouse) ready.
Pre-Requisites
sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y
sudo apt install -y git make wget aria2 gcc pkg-config libusb-1.0-0-dev libudev-dev jq gcc g++ curl libssl-dev screen apache2-utils build-essential pkg-configSetting up Firewall
Set explicit default UFW rules
sudo ufw default deny incoming
sudo ufw default allow outgoingAllow SSH
Allow remote RPC connections with Base Node
Not advised to allow all or unknown IP address to RPC port
Enable Firewall
Download a snapshot
Create a directory and start downloading an archive in screen session as it takes ~9 hours
Compile Op-node
Required Software Dependencies
go
^1.22
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
You'll need your own synced Ethereum L1 RPC URL (e.g. Erigon) and L1 Consensus Layer Beacon endpoint (e.g. Lighthouse) in order to run Base
Compile op-geth
#The binary is built at /root/github/op-geth/build/bin/geth
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-geth data directoy:
Start op-geth
You can also run curl command in the terminal to check the status of your node
curl command in the terminal to check the status of your nodeYou can see If blocks increase at https://base.blockscout.com/ by entering returned hash. It means the node is catching up and the setup is successful.
References
Last updated
Was this helpful?