ethereumjs-monorepo

@ethereumjs/devp2p


@ethereumjs/devp2p / DNS

Class: DNS

Defined in: packages/devp2p/src/dns/dns.ts:18

Constructors

Constructor

new DNS(options): DNS

Defined in: packages/devp2p/src/dns/dns.ts:26

Parameters

options

DNSOptions = {}

Returns

DNS

Methods

__setNativeDNSModuleResolve()

__setNativeDNSModuleResolve(mock): void

Defined in: packages/devp2p/src/dns/dns.ts:216

Only used for testing. A stopgap to enable successful TestDouble mocking of the native dns module.

Parameters

mock

any

TestDouble fn

Returns

void


getPeers()

getPeers(maxQuantity, dnsNetworks): Promise<PeerInfo[]>

Defined in: packages/devp2p/src/dns/dns.ts:49

Returns a list of verified peers listed in an EIP-1459 DNS tree. Method may return fewer peers than requested if maxQuantity is larger than the number of ENR records or the number of errors/duplicate peers encountered by randomized search exceeds maxQuantity plus the errorTolerance factor.

Parameters

maxQuantity

number

max number to get

dnsNetworks

string[]

enrTree strings (See EIP-1459 for format)

Returns

Promise<PeerInfo[]>