Util dedicated for AES-GCM encoding with key size equal 16 bytes
Module for securing messages communications. It creates required parameters for peers handshake execution.
All session keys information is located here, which are used for message encryption/decryption
Default storage for Ethereum Node Records, backed by an in-memory hash map.
A Peer routing table for the Ethereum ÐΞVp2p network.
An Ethereum ÐΞVp2p discovery service.
The result of encoding a message: its authentication tag, used to track responses, and its content as bytes.
An Ethereum node endpoint.
The components of an enode URI.
Storage of node records
An in-memory peer repository.
Ethereum Node Record (ENR) as described in EIP-778.
Udp message handler, aimed to process its parameters and sending result
Udp message listener for message observance, generally for test purposes
Service executes network discovery, according to discv5 specification
(https://github.com/ethereum/devp2p/blob/master/discv5/discv5.md)
Message reader/writer. It encodes and decodes messages, structured like at schema below
An Ethereum P2P network peer.
A repository of peers in an Ethereum network.
A routing table for ÐΞVp2p peers.
Generates session keys on handshake, using HKDF key derivation function
Module, used for network communication. It accepts and sends incoming messages and also provides peer information,
like node's ENR, key pair
Handles WHOAREYOU messages.