Network addresses

Electroneum Smart Chain nodes have to identify themselves with some basic information to connect to peers. To ensure any potential peer can interpret this information, it is relayed in one of three standardized formats that any Electroneum node can understand: enode, or Electroneum Node Records (ENRs). ENRs are the current standard for Electroneum Smart Chain network addresses.

Prerequisites

Some understanding of the Electroneum Smart Chain’s networking layer is required to understand this page.

Enode

An enode is a way to identify an Electroneum node using a URL address format. The hexadecimal node-ID is encoded in the username portion of the URL separated from the host using an @ sign. The hostname can only be given as an IP address; DNS names are not allowed. The port in the hostname section is the TCP listening port. If the TCP and UDP (discovery) ports differ, the UDP port is specified as a query parameter “discport”

In the following example, the node URL describes a node with IP address 10.3.58.6, TCP port 30303 and UDP discovery port 30301.

enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301

Electroneum Node Records (ENRs)

Electroneum Node Records (ENRs) are a standardised format for network addresses on the Electroneum Smart Chain. They supersede enodes. These are especially useful because they allow greater informational exchange between nodes. The ENR contains a signature, sequence number and fields detailing the identity scheme used to generate and validate signatures. The ENR can also be populated with arbitrary data organized as key-value pairs. These key-value pairs contain the node’s IP address and information about the sub-protocols the node is able to use.