Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions website/docs/Support/Cloud.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -147,12 +147,13 @@ to the actual defaults by adding more specific rules. For the Docker default sub
## Allowing IPv6 traffic

Ports mapped to host by Docker are reachable on IPv4 by default without the need for ufw rules. This is not true for IPv6 in
my testing. You can use a [port scanner](https://www.ipvoid.com/port-scan/) to test your P2P TCP ports - defaults `30303` and `9000` -
my testing. You can use a [port scanner](https://www.ipvoid.com/port-scan/) to test your P2P TCP ports - default `30303` on the execution layer -
on IPv6. If they are `Filtered` instead of `Open`, add explicit rules for P2P. Adjust this to the ports you actually use!!

```
sudo ufw allow from any to any port 30303
sudo ufw allow from any to any port 9000
sudo ufw allow proto udp from any to any port 9000
sudo ufw allow proto udp from any to any port 9001
```

## Allowing Docker traffic to the host IP
Expand Down
4 changes: 2 additions & 2 deletions website/docs/Support/Recommendations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ you will need to open in `ufw` depend on the client you choose.

## Firewalling

execution client: 30303 tcp/udp, forwarded to your server
consensus client: 9000 tcp/udp, forwarded to your server
execution client: 30303 TCP/UDP, forwarded to your server
consensus client: 9000 UDP and 9001 UDP, forwarded to your server
grafana: 443 tcp, forwarded to your server, assuming you are using the reverse proxy.

> The grafana port is insecure http:// if no reverse proxy is in use,
Expand Down
8 changes: 4 additions & 4 deletions website/docs/Usage/LinuxSecurity.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,10 @@ Ports that I mention can be "Open to Internet" can be either forwarded to your n

Forward only the ports that you actually use, depending on your client choices.

- 30303 tcp/udp - Geth/Nethermind/Besu/Erigon execution client P2P. Open to Internet.
- 9000 tcp/udp - Lighthouse/Teku/Nimbus/Lodestar/Prysm consensus client P2P. Open to Internet.
- 443 tcp - https:// access to Grafana via traefik. Open to Internet.
- 22/tcp - SSH. Only open to Internet if you want to access the server remotely. If open to Internet, configure
- 30303 TCP/UDP - execution client P2P. Open to Internet.
- 9000 UDP and 9001 UDP - consensus client P2P. Open to Internet.
- 443 TCP - https:// access to Grafana via traefik. Open to Internet.
- 22 TCP - SSH. Only open to Internet if you want to access the server remotely. If open to Internet, configure
SSH key authentication.

On Ubuntu, the host firewall `ufw` can be used to allow SSH traffic.
Expand Down
5 changes: 4 additions & 1 deletion website/docs/Usage/Networking.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ values to use for default gateway and DNS.

## Port forwarding

By default, the clients use UDP/TCP 30303 and UDP/TCP 9000 as their P2P, "Peer to Peer", ports. These should be "open to Internet". If you're on a home network, set up [port forwarding](https://portforward.com/) on your router for these. If you are behind CGNAT from your ISP, this will not work. To verify, look at the WAN IP of your router and at https://www.whatismyip.com/. If they match, you are not behind CGNAT. If they don't, you are. Ask your ISP for a static IP address to resolve this.
By default, the clients use UDP/TCP 30303 (execution layer) and UDP 9000 / UDP 9001 (consensus layer) as their P2P, "Peer to Peer", ports. These should be "open to Internet".
If you're on a home network, set up [port forwarding](https://portforward.com/) on your router for these. If you are behind CGNAT from your ISP, this will not work. To verify,
look at the WAN IP of your router and at https://www.whatismyip.com/. If they match, you are not behind CGNAT. If they don't, you are. Use IPV6 dual-stack and/or ask your ISP
for a static (fully public) IPv4 address to resolve this.

## Firewalling

Expand Down
7 changes: 4 additions & 3 deletions website/docs/Usage/NodeTypes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@ sidebar_label: History and Pruning

## Types of nodes

You can run an Archive node, with all history and full lookup for all historical transactions. This may take large amounts of space, depending on the execution layer client.
You can run an Archive node, with all history and full lookup for all historical transactions. This needs at least a 4TB drive, and may need as much as 12TB, depending on the type of archive
and whether you are also archiving blobs.

You can run a Full node, with all history and limited lookup for historical transactions. This fits into a 4TB drive and is often the choice for RPC nodes.

You can run an Expired node, with pre-merge history and receipts gone. This fits into a 2TB drive and is often the choice for validator nodes. This is the default.
You can run an Expired node, with rolling expiry history and receipts gone. This fits into a 2TB drive and is often the choice for validator nodes. This is the default.

This is controlled by variables in `.env`, which can be set with `nano .env`. Switching from one type to another often requires a full resync.

`EL_NODE_TYPE` can be one of:
- `archive`
- `full`
- `pre-merge-expiry` - the default
- `rolling-expiry` - keeps ~5 months of history
- `pre-merge-expiry` - history since the merge, narrowly fits into 2TB but may soon need a 4TB drive
- `custom` - use whatever expiry and database configuration the client defaults to, and set additional parameters via `EL_EXTRAS` in `.env`

Please be careful with expiry options: Expired history also means expired receipts, which can throw protocols such as SSV and Stakewise for a loop. Both work with pre-merge-expiry, but will likely break with rolling expiry, unless they get receipts from another (unexpired) RPC endpoint.
Expand Down
20 changes: 10 additions & 10 deletions website/docs/Usage/ResourceUsage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@ SSD and RAM use is after initial sync, when keeping up with head.
Please pay attention to the Version and Date. These are snapshots in time of client behavior. Initial database size increases over time, and execution clients are always working on improving their storage engines.

DB Size is shown with values for different types of nodes: Full, and different levels of expiry: Post-Merge history only; rolling expiry for `33_024` epochs.
"tbd" means I haven't gathered the data. "n/a" means the client does not support this expiry mode, yet. ">1.8 TiB" means I ran out of space on my test node.
"tbd" means I haven't gathered the data. "n/a" means the client does not support this expiry mode, yet. ">1.7 TiB" means I ran out of space on my test node with 2TB drive.

| Client | Version | Date | DB Full | DB Post-Merge | DB Rolling | RAM | Notes |
|--------|---------|------|---------|---------------|------------|-----|-------|
| Geth | 1.17.5 | September 2026 | ~tbd TiB | ~1.3 TiB | n/a | ~ 8 GiB | |
| Nethermind | 2.0.0 | September 2026 | ~tbd TiB | ~1.1 TiB | ~400 GiB | ~7 GiB | HalfPath DB, can automatic online prune at ~350 GiB free |
| Nethermind | 2.0.0 | September 2026 | ~tbd TiB | ~tbd TiB | ~550 GiB | ~5 GiB | FlatInTrie FlatDB |
| Nethermind | 2.0.0 | September 2026 | ~tbd TiB | ~tbd TiB | ~480 GiB | ~9 GiB | Flat FlatDB |
| Besu | v26.8.1 | September 2026 | ~tbd TiB | ~1.1 TiB | ~430 GiB | ~10 GiB | |
| Reth | 2.5.2 | September 2026 | ~1.8 TiB | ~1.2 TiB | ~400 GiB | ~14 GiB | with receipts |
| Erigon | 3.6.0 | September 2026 | ~tbd TiB | ~tbd GiB | ~590 GiB | ~18 GiB | Erigon will use available system RAM, but the OS will use it for other processes as needed |
| Nimbus | 0.4.0 | September 2026 | tbd TiB | ~tbd TiB | tbd GiB | tbd | |
| Ethrex | 26.0.0 | September 2026 | tbd TiB | ~tbd TiB | n/a | ~17 GiB | ~30 GiB RAM while snap syncing. With history backfill. Full node is only back to Byzantium |
| Geth | 1.17.5 | September 2026 | >1.7 TiB | ~1.3 TiB | n/a | ~ 8 GiB | |
| Nethermind | 2.0.0 | September 2026 | ~1.6 TiB | ~1.2 TiB | ~500 GiB | ~9 GiB | Flat FlatDB, the default |
| Nethermind | 2.0.0 | September 2026 | ~1.5 TiB | ~1.2 TiB | ~550 GiB | ~5 GiB | FlatInTrie FlatDB |
| Nethermind | 2.0.0 | September 2026 | ~1.5 TiB | ~1.1 TiB | ~400 GiB | ~7 GiB | HalfPath DB, can automatic online prune at ~350 GiB free |
| Besu | v26.8.1 | September 2026 | >1.7 TiB | ~1.1 TiB | ~430 GiB | ~10 GiB | |
| Reth | 2.5.2 | September 2026 | ~2 TiB | ~1.2 TiB | ~400 GiB | ~14 GiB | with receipts |
| Erigon | 3.6.0 | September 2026 | >1.7 TiB | ~tbd TiB | ~590 GiB | ~18 GiB | Erigon will use available system RAM, but the OS will use it for other processes as needed |
| Nimbus | 0.4.0 | September 2026 | >1.7 TiB | ~tbd TiB | tbd GiB | tbd | |
| Ethrex | 26.0.0 | September 2026 | >1.7 TiB | ~tbd TiB | n/a | ~17 GiB | ~30 GiB RAM while snap syncing. With history backfill. Full node is only back to Byzantium |

Notes on disk usage
- All clients other than "Nethermind with HalfPath DB" continously prune state
Expand Down
Loading