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