go-ethereum/p2p/discover
Charles Dusek 0962686a6e p2p/discover: resolve DNS hostnames for bootstrap nodes
Since PR #30822 moved DNS resolution from parse-time to dial-time,
bootstrap nodes specified with DNS hostnames (e.g.
enode://<key>@hostname:30303) fail with "missing IP address" because
setFallbackNodes calls ValidateComplete which requires a valid IP.

This is a regression from v1.14.x that blocks multiple L2 networks
(Omni, Optimism, Unichain) from upgrading to v1.15+.

Fix by resolving DNS hostnames in setFallbackNodes before validation,
mirroring the dnsResolveHostname pattern used for static nodes in the
dial scheduler. The resolved node retains its hostname for potential
future periodic re-resolution.

Fixes #31208
2026-03-27 00:09:24 -05:00
..
v4wire p2p/discover: refactor node and endpoint representation (#29844) 2024-05-29 15:02:26 +02:00
v5wire p2p/discover/v5wire: use Whoareyou.ChallengeData instead of storing encoded packet (#31547) 2026-02-22 21:58:47 +01:00
common.go p2p/discover: make discv5 response timeout configurable (#31119) 2025-02-11 13:52:43 +01:00
lookup.go p2p/discover: remove hot-spin in table refresh trigger (#32912) 2025-10-15 11:51:33 +02:00
metrics.go metrics, cmd/geth: change init-process of metrics (#30814) 2024-12-10 13:27:29 +01:00
node.go p2p/discover: remove type encPubkey (#30172) 2024-07-18 11:09:02 +02:00
ntp.go all: remove dependency on golang.org/exp (#29314) 2024-03-25 07:50:18 +01:00
table.go p2p/discover: resolve DNS hostnames for bootstrap nodes 2026-03-27 00:09:24 -05:00
table_reval.go p2p/discover: remove unused parameter in revalidationList.get (#31155) 2025-02-11 13:45:44 +01:00
table_reval_test.go p2p/discover: refactor node and endpoint representation (#29844) 2024-05-29 15:02:26 +02:00
table_test.go p2p/discover: resolve DNS hostnames for bootstrap nodes 2026-03-27 00:09:24 -05:00
table_util_test.go p2p/discover: remove type encPubkey (#30172) 2024-07-18 11:09:02 +02:00
v4_lookup_test.go Revert "p2p/discover: add test for lookup returning immediately" 2025-09-12 11:29:43 +02:00
v4_udp.go p2p/discover: expose discv5 functions for portal JSON-RPC interface (#31117) 2025-03-13 15:16:01 +01:00
v4_udp_test.go p2p/discover: wait for bootstrap to be done (#32881) 2025-10-13 19:58:50 +02:00
v5_talk.go p2p/discover: pass node instead of node ID to TALKREQ handler (#31075) 2025-04-02 14:56:21 +02:00
v5_udp.go p2p/discover: remove delay from discv5 RandomNodes (#32517) 2025-09-10 19:51:04 +02:00
v5_udp_test.go p2p/discover/v5wire: use Whoareyou.ChallengeData instead of storing encoded packet (#31547) 2026-02-22 21:58:47 +01:00