💻Baremetal

Authors: [man4ela | catapulta.eth]

System Requirements

CPU
OS
RAM
DISK

8+ cores CPU

Debian 12/Ubuntu 22.04

=> 16 GB RAM

=6TB+(SSD or NVMe)

The Arbitrum Sepolia archive node has a size of 5.2TB on November 18th, 2024

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-config

Install Docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

# Install Docker Packages
 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 
 # Verify Docker Installation is Successful
sudo docker run hello-world

Setting up Firewall

Set explicit default UFW rules

Allow SSH

Allow remote RPC connections with Mode 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 Nitro Node

To upgrade nitro check for latest version at https://github.com/OffchainLabs/nitro/releases:

Create Data directory and download latest snapshot

Create Systemd service for Nitro

Paste the configs and save by entering ctrl+X and Y+ENTER:

Replace {ETH SEPOLIA URL} and {ETH SEPOLIA CL URL} with your synced Ethereum Sepolia and Ethereum Sepolia Consensus Layer endpoints

Launch Nitro

Monitor the logs for errors

Run curl command in the terminal to check the status of your node

Expected output during synchronization:

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

References

Last updated

Was this helpful?