Skip to content

discovery::ValidatedPeer

Minimal peer descriptor produced by both discv4 and discv5 crawlers. More...

#include <discovered_peer.hpp>

Public Attributes

Name
NodeId node_id
64-byte secp256k1 public key
std::string ip
IPv4 dotted-decimal or IPv6 string.
uint16_t udp_port
UDP port used by the discovery protocol.
uint16_t tcp_port
TCP port for RLPx (devp2p).
std::chrono::steady_clock::time_point last_seen
Wallclock of last discovery contact.
std::optional< ForkId > eth_fork_id
Present when parsed from ENR "eth" entry.

Detailed Description

struct discovery::ValidatedPeer;

Minimal peer descriptor produced by both discv4 and discv5 crawlers.

Contains only the information that the downstream dial scheduler needs to attempt an RLPx TCP connection and to apply an optional per-chain filter.

Intentionally kept narrow — it is the stable handoff contract between the discovery layer and the connection layer. Neither the scheduler nor the caller should need to know which discovery protocol produced this record.

Public Attributes Documentation

variable node_id

NodeId node_id {};

64-byte secp256k1 public key

variable ip

std::string ip {};

IPv4 dotted-decimal or IPv6 string.

variable udp_port

uint16_t udp_port {};

UDP port used by the discovery protocol.

variable tcp_port

uint16_t tcp_port {};

TCP port for RLPx (devp2p).

variable last_seen

std::chrono::steady_clock::time_point last_seen {};

Wallclock of last discovery contact.

variable eth_fork_id

std::optional< ForkId > eth_fork_id {};

Present when parsed from ENR "eth" entry.


Updated on 2026-04-13 at 23:22:46 -0700