TARAXA
|
Class representing Ethereum Node Record - see EIP-778. More...
#include <ENR.h>
Public Types | |
using | SignFunction = std::function< bytes(bytesConstRef)> |
using | VerifyFunction = std::function< bool(std::map< std::string, bytes > const &, bytesConstRef, bytesConstRef)> |
Public Member Functions | |
ENR (RLP const &_rlp, VerifyFunction const &_verifyFunction) | |
Parse from RLP with given signature verification function. More... | |
ENR (uint64_t _seq, std::map< std::string, bytes > const &_keyValuePairs, SignFunction const &_signFunction) | |
Create with given sign function. More... | |
uint64_t | sequenceNumber () const |
bytes const & | signature () const |
std::map< std::string, bytes > const & | keyValuePairs () const |
std::string | id () const |
Pre-defined keys. More... | |
boost::asio::ip::address_v4 | ip () const |
boost::asio::ip::address_v6 | ip6 () const |
uint16_t | tcpPort () const |
uint16_t | udpPort () const |
void | streamRLP (RLPStream &_s) const |
Serialize to given RLP stream. More... | |
ENR | update (std::map< std::string, bytes > const &_keyValuePair, SignFunction const &_signFunction) const |
Create new ENR succeeding current one with updated _keyValuePairs. More... | |
std::string | textEncoding () const |
Private Member Functions | |
bytes | content () const |
size_t | contentRlpListItemCount () const |
void | streamContent (RLPStream &_s) const |
Private Attributes | |
uint64_t | m_seq = 0 |
std::map< std::string, bytes > | m_keyValuePairs |
bytes | m_signature |
Class representing Ethereum Node Record - see EIP-778.
using dev::p2p::ENR::SignFunction = std::function<bytes(bytesConstRef)> |
Sign function gets serialized ENR contents and signs it according to some Identity Scheme
using dev::p2p::ENR::VerifyFunction = std::function<bool(std::map<std::string, bytes> const&, bytesConstRef, bytesConstRef)> |
Verify function gets ENR key-value pairs, signature, and serialized content and validates the signature according to some Identity Scheme
dev::p2p::ENR::ENR | ( | RLP const & | _rlp, |
VerifyFunction const & | _verifyFunction | ||
) |
Parse from RLP with given signature verification function.
dev::p2p::ENR::ENR | ( | uint64_t | _seq, |
std::map< std::string, bytes > const & | _keyValuePairs, | ||
SignFunction const & | _signFunction | ||
) |
Create with given sign function.
|
private |
|
inlineprivate |
std::string dev::p2p::ENR::id | ( | ) | const |
Pre-defined keys.
ba::ip::address_v4 dev::p2p::ENR::ip | ( | ) | const |
ba::ip::address_v6 dev::p2p::ENR::ip6 | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
private |
uint16_t dev::p2p::ENR::tcpPort | ( | ) | const |
std::string dev::p2p::ENR::textEncoding | ( | ) | const |
uint16_t dev::p2p::ENR::udpPort | ( | ) | const |
ENR dev::p2p::ENR::update | ( | std::map< std::string, bytes > const & | _keyValuePair, |
SignFunction const & | _signFunction | ||
) | const |
Create new ENR succeeding current one with updated _keyValuePairs.
|
private |
|
private |
|
private |