Running a Node¶
This guide explains how to run and manage Ethereum nodes on your ARM device using systemd services.
Important
You need to run both an Execution Layer client and a Consensus Layer client simultaneously. Choose any EL+CL combination (we recommend minority clients), but keep them running together.
What You’ll Learn¶
Managing Systemd Services
Learn to control your Ethereum clients with systemd:
sudo systemctl start geth # Start a service
sudo systemctl stop lighthouse # Stop a service
sudo journalctl -u geth -f # View live logs
Understanding Node Types
Different node types serve different purposes:
Full Node: Stores recent state, validates new blocks
Archive Node: Stores complete historical state
Light Client: Minimal storage, relies on full nodes
Running Layer 1 Clients
Ethereum mainnet requires two clients working together:
Execution Layer (choose one): Geth, Nethermind, Besu, Erigon, Reth
Consensus Layer (choose one): Lighthouse, Prysm, Teku, Nimbus, Lodestar, Grandine
Running Layer 2 Clients
Scale Ethereum with Layer 2 solutions:
Arbitrum - Optimistic rollup
Optimism/Base - OP Stack chains
Starknet - ZK rollup
Fuel Network - Modular execution layer
Hardware Requirements¶
Setup |
RAM |
Storage |
Use Case |
|---|---|---|---|
Full Node |
16 GB |
2 TB NVMe |
Standard operation |
Staking Node |
16 GB |
2 TB NVMe |
Validator + beacon |
Archive Node |
32 GB |
4+ TB NVMe |
Historical queries |
L2 Node |
16-32 GB |
2-4 TB NVMe |
Depends on L2 |
Tip
Start with the Managing Clients guide if you’re new to Ethereum on ARM.
Next Steps¶
New users: Start with Download and Install
Run L1: Follow Running Layer 1 nodes
Run L2: Follow Running Layer 2 nodes
Stake: See Solo Staking