Arbitrum

Arbitrum is a Layer 2 scaling solution for Ethereum that uses Optimistic Rollups to increase transaction throughput while reducing gas costs. By processing transactions off-chain and posting compressed data to Ethereum mainnet, Arbitrum provides a secure and efficient scaling solution.

Ethereum on ARM provides the Arbitrum Nitro client, enabling you to run your own Arbitrum node on ARM-based devices.

Important

Running an Arbitrum node requires access to a synced Ethereum L1 node (Execution Layer). You must have a local or remote Ethereum node available.

Arbitrum Node Support

Setting up an Arbitrum node on Ethereum on ARM is straightforward. The images ship with the pre-installed Nitro client—you only need to configure your L1 endpoint and start the service.

1. Install the OS

Follow the Installation Guide to flash the Ethereum on ARM image to your device and complete the initial boot process.

2. Configure L1 Connection

Before starting the Arbitrum node, you must configure the L1 (Ethereum mainnet) endpoint.

Edit the configuration file:

sudo nano /etc/ethereum/nitro.conf

Update the --l1.url parameter with your L1 node’s address:

ARGS="--l1.url http://YOUR_L1_NODE_IP:8545 \
    --l2.chain-id=42161 \
    --http.api=net,web3,eth,debug \
    --http.corsdomain=* \
    --http.addr=0.0.0.0 \
    --http.vhosts=*"

Replace YOUR_L1_NODE_IP with the IP address of your synced Ethereum node (e.g., 192.168.1.100).

Tip

If running the L1 node on the same machine, use http://localhost:8545 or http://127.0.0.1:8545.

4. Start the Service

Once configured, start the Nitro client:

sudo systemctl start nitro
sudo journalctl -u nitro -f

The node will begin syncing with the Arbitrum network. Initial sync time depends on whether you used a snapshot.

5. Enable on Boot (Optional)

To automatically start the Arbitrum node on system boot:

sudo systemctl enable nitro

Configuration

Configuration File

The main configuration file is located at:

  • /etc/ethereum/nitro.conf

This file contains the command-line arguments passed to the Nitro binary.

Data Directory

By default, data is stored in:

  • /home/ethereum/.arbitrum/arb1/nitro

This path is automatically created on first startup.

Service Details

Component

Value

Service Name

nitro.service

Binary Path

/usr/bin/nitro

Configuration

/etc/ethereum/nitro.conf

Data Directory

/home/ethereum/.arbitrum/arb1/nitro

Default RPC Port

8547

User

ethereum

RPC Access

Once synced, you can query the Arbitrum node via JSON-RPC:

curl -X POST http://localhost:8547 \
    -H "Content-Type: application/json" \
    --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

Hardware Requirements

Component

Minimum

Recommended

Storage

2 TB NVMe SSD

4 TB NVMe SSD

RAM

16 GB

32 GB

L1 Access

Required

Local node preferred

For monitoring, logs, and lifecycle management, refer to the Managing Clients guide.

Official Documentation

For advanced configuration and architectural details, refer to the official Arbitrum documentation:

Arbitrum Node Documentation