ethereum-optimism / ethereum-optimism/optimism

op-reth: discv5-only NAT advertise falls back to 127.0.0.1 (tracked in op-rs/reth#3)

Closed
#22,873 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
6.5k
Forks
4k
Avg merge
2d 15h
Merged PRs (30d)
145

Description

## Context

OP Stack `op-reth` in this monorepo (`rust/op-reth`) pins core networking crates from [`op-rs/reth`](https://github.com/op-rs/reth) (see `rust/Cargo.toml` / `rust/UPDATING-RETH.md`).

With the usual OP path (**discv4 disabled → discv5-only**) and default `--nat any`, `admin_nodeInfo` / the advertised enode can become **`127.0.0.1`**. Outbound peers may still work; inbound discovery does not, because peers cannot dial loopback. This shows up especially on archive nodes in CT/nspawn after reboot when UPnP does not yield a usable advertise address.

## Tracking

Full write-up, root cause, and patch proposal (runtime `advertised_nat` + wire `--nat`/`extip` into discv5 `advertised_ip`, plus tests):

→ **https://github.com/op-rs/reth/issues/3**

## Ask

Please keep this issue as a bump reminder: once `op-rs/reth#3` lands, bump the `op-rs/reth` git rev in `rust/Cargo.toml` and verify `admin_nodeInfo` no longer advertises localhost under `--nat any` / `--nat extip:` on a discv4-disabled node.

## Operator workaround (until pin bump)

`--nat extip:` (and ensure TCP RLPx + UDP discv5 are reachable).

Contributor guide

Open the contributing guide

Research direction

Start with the upstream op-rs/reth#3 tracking issue and the pinned dependency in rust/Cargo.toml; consult rust/UPDATING-RETH.md for the bump process. Once the upstream fix lands, update the op-rs/reth git revision and verify admin_nodeInfo under --nat any and --nat extip: with discv4 disabled, ensuring localhost is no longer advertised.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.