@Override
  public boolean equals(final Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    final EnodeURL enodeURL = (EnodeURL) o;
    return Objects.equals(getNodeId(), enodeURL.getNodeId())
        && Objects.equals(getIp(), enodeURL.getIp())
        && Objects.equals(getListeningPort(), enodeURL.getListeningPort())
        && Objects.equals(getDiscoveryPort(), enodeURL.getDiscoveryPort());
  }
Get IP of the EnodeURL

<p>If "dns" and "dns-update" are enabled -&gt; DNS lookup every time to have the IP up to date
and not to rely on an invalid cache

<p>If the "dns" is enabled but "dns-update" is disabled -&gt; IP is retrieved only one time and
the hostname is no longer stored (maybeHostname is empty).

@return ip
ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/peers/EnodeURLImpl.java