From 7b5fceb603dff09a4cb66b63fceefa13ba250225 Mon Sep 17 00:00:00 2001 From: smin-k Date: Thu, 9 May 2024 16:37:06 +0900 Subject: [PATCH] ipv6 address used as extip results in 127.0.0.1 --- p2p/enode/node.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/p2p/enode/node.go b/p2p/enode/node.go index cb35842088..b85b8e97b7 100644 --- a/p2p/enode/node.go +++ b/p2p/enode/node.go @@ -99,6 +99,7 @@ func (n *Node) Load(k enr.Entry) error { return n.r.Load(k) } +// IP returns the IP address of the node. This prefers IPv4 addresses. // IP returns the IP address of the node. This prefers IPv4 addresses. func (n *Node) IP() net.IP { var ( @@ -114,13 +115,15 @@ func (n *Node) IP() net.IP { if n.Load(&ip6) == nil { return net.IP(ip6) } - if ipv4Addr := net.IP(ip4); ipv4Addr.IsLoopback() { - return ipv4Addr + if n.Load(&ip4) == nil { + ipv4Addr := net.IP(ip4) + if ipv4Addr.IsLoopback() { + return ipv4Addr + } } return nil } - // UDP returns the UDP port of the node. func (n *Node) UDP() int { var port enr.UDP