ethereum-optimism / ethereum-optimism/optimism
op-reth: discv5-only NAT advertise falls back to 127.0.0.1 (tracked in op-rs/reth#3)
- 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
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