Module reth_dns_discovery::tree

source ·
Expand description

Support for the EIP-1459 DNS Record Structure

The nodes in a list are encoded as a merkle tree for distribution via the DNS protocol. Entries of the merkle tree are contained in DNS TXT records. The root of the tree is a TXT record with the following content:

enrtree-root:v1 e=<enr-root> l=<link-root> seq=<sequence-number> sig=<signature>

where

enr-root and link-root refer to the root hashes of subtrees containing nodes and links to subtrees. sequence-number is the tree’s update sequence number, a decimal integer. signature is a 65-byte secp256k1 EC signature over the keccak256 hash of the record content, excluding the sig= part, encoded as URL-safe base64 (RFC-4648).

Structs§

  • Represents a branch entry in the DNS tree, containing base32 hashes of subtree entries.
  • Represents a link entry in the DNS tree, facilitating federation and web-of-trust functionality.
  • Represents the actual Ethereum Node Record (ENR) entry in the DNS tree.
  • Represents an enr-root hash of subtrees containing nodes and links.

Enums§

  • Represents all variants of DNS entries for Ethereum node lists.