2022-05-13 07:49:20 +00:00
<!DOCTYPE html> < html class = "default" > < head > < meta charSet = "utf-8" / > < meta http-equiv = "x-ua-compatible" content = "IE=edge" / > < title > DnsNodeDiscovery | js-waku< / title > < meta name = "description" content = "Documentation for js-waku" / > < meta name = "viewport" content = "width=device-width, initial-scale=1" / > < link rel = "stylesheet" href = "../assets/style.css" / > < link rel = "stylesheet" href = "../assets/highlight.css" / > < script async src = "../assets/search.js" id = "search-script" > < / script > < / head > < body > < script > document . body . classList . add ( localStorage . getItem ( "tsd-theme" ) || "os" ) < / script > < header > < div class = "tsd-page-toolbar" > < div class = "container" > < div class = "table-wrap" > < div class = "table-cell" id = "tsd-search" data-base = ".." > < div class = "field" > < label for = "tsd-search-field" class = "tsd-widget search no-caption" > Search< / label > < input type = "text" id = "tsd-search-field" / > < / div > < ul class = "results" > < li class = "state loading" > Preparing search index...< / li > < li class = "state failure" > The search index is not available< / li > < / ul > < a href = "../index.html" class = "title" > js-waku< / a > < / div > < div class = "table-cell" id = "tsd-widgets" > < div id = "tsd-filter" > < a href = "#" class = "tsd-widget options no-caption" data-toggle = "options" > Options< / a > < div class = "tsd-filter-group" > < div class = "tsd-select" id = "tsd-filter-visibility" > < span class = "tsd-select-label" > All< / span > < ul class = "tsd-select-list" > < li data-value = "public" > Public< / li > < li data-value = "protected" > Public/Protected< / li > < li data-value = "private" class = "selected" > All< / li > < / ul > < / div > < input type = "checkbox" id = "tsd-filter-inherited" checked / > < label class = "tsd-widget" for = "tsd-filter-inherited" > Inherited< / label > < input type = "checkbox" id = "tsd-filter-externals" checked / > < label class = "tsd-widget" for = "tsd-filter-externals" > Externals< / label > < / div > < / div > < a href = "#" class = "tsd-widget menu no-caption" data-toggle = "menu" > Menu< / a > < / div > < / div > < / div > < / div > < div class = "tsd-page-title" > < div class = "container" > < ul class = "tsd-breadcrumb" > < li > < a href = "../modules.html" > js-waku< / a > < / li > < li > < a href = "../modules/discovery.html" > discovery< / a > < / li > < li > < a href = "../modules/discovery.dns.html" > dns< / a > < / li > < li > < a href = "discovery.dns.DnsNodeDiscovery.html" > DnsNodeDiscovery< / a > < / li > < / ul > < h1 > Class DnsNodeDiscovery< / h1 > < / div > < / div > < / header > < div class = "container container-main" > < div class = "row" > < div class = "col-8 col-content" > < section class = "tsd-panel tsd-hierarchy" > < h3 > Hierarchy< / h3 > < ul class = "tsd-hierarchy" > < li > < span class = "target" > DnsNodeDiscovery< / span > < / li > < / ul > < / section > < section class = "tsd-panel-group tsd-index-group" > < h2 > Index< / h2 > < section class = "tsd-panel tsd-index-panel" > < div class = "tsd-index-content" > < section class = "tsd-index-section " > < h3 > Constructors< / h3 > < ul class = "tsd-index-list" > < li class = "tsd-kind-constructor tsd-parent-kind-class" > < a href = "discovery.dns.DnsNodeDiscovery.html#constructor" class = "tsd-kind-icon" > constructor< / a > < / li > < / ul > < / section > < section class = "tsd-index-section tsd-is-private tsd-is-private-protected" > < h3 > Properties< / h3 > < ul class = "tsd-index-list" > < li class = "tsd-kind-property tsd-parent-kind-class tsd-is-private" > < a href = "discovery.dns.DnsNodeDiscovery.html#_DNSTreeCache" class = "tsd-kind-icon" > _DNSTree< wbr / > Cache< / a > < / li > < li class = "tsd-kind-property tsd-parent-kind-class tsd-is-private" > < a href = "discovery.dns.DnsNodeDiscovery.html#_errorTolerance" class = "tsd-kind-icon" > _error< wbr / > Tolerance< / a > < / li > < li class = "tsd-kind-property tsd-parent-kind-class tsd-is-private" > < a href = "discovery.dns.DnsNodeDiscovery.html#dns" class = "tsd-kind-icon" > dns< / a > < / li > < / ul > < / section > < section class = "tsd-index-section " > < h3 > Methods< / h3 > < ul class = "tsd-index-list" > < li class = "tsd-kind-method tsd-parent-kind-class tsd-is-private" > < a href = "discovery.dns.DnsNodeDiscovery.html#_getTXTRecord" class = "tsd-kind-icon" > _getTXTRecord< / a > < / li > < li class = "tsd-kind-method tsd-parent-kind-class tsd-is-private" > < a href = "discovery.dns.DnsNodeDiscovery.html#_search" class = "tsd-kind-icon" > _search< / a > < / li > < li class = "tsd-kind-method tsd-parent-kind-class" > < a href = "discovery.dns.DnsNodeDiscovery.html#getPeers" class = "tsd-kind-icon" > get< wbr / > Peers< / a > < / li > < li class = "tsd-kind-method tsd-pare
2022-05-13 05:11:40 +00:00
< p > Retrieves the TXT record stored at a location from either
this DNS tree cache or via DNS query.< / p >
< / div > < dl class = "tsd-comment-tags" > < dt > throws< / dt > < dd > < p > if the TXT Record contains non-UTF-8 values.< / p >
2022-05-13 07:49:20 +00:00
< / dd > < / dl > < / div > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameters" > < li > < h5 > subdomain: < span class = "tsd-signature-type" > string< / span > < / h5 > < / li > < li > < h5 > context: < a href = "../modules/discovery.dns.html#SearchContext" class = "tsd-signature-type" data-tsd-kind = "Type alias" > SearchContext< / a > < / h5 > < / li > < / ul > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > string< / span > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < / li > < / ul > < / section > < section class = "tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private" > < a id = "_search" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < span class = "tsd-flag ts-flagPrivate" > Private< / span > _search< a href = "#_search" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-link" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" > < path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path > < path d = "M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" > < / path > < path d = "M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" > < / path > < / svg > < / a > < / h3 > < ul class = "tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private" > < li class = "tsd-signature tsd-kind-icon" > _search< span class = "tsd-signature-symbol" > (< / span > subdomain< span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > string< / span > , context< span class = "tsd-signature-symbol" > : < / span > < a href = "../modules/discovery.dns.html#SearchContext" class = "tsd-signature-type" data-tsd-kind = "Type alias" > SearchContext< / a > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > null< / span > < span class = "tsd-signature-symbol" > | < / span > < a href = "enr.ENR.html" class = "tsd-signature-type" data-tsd-kind = "Class" > ENR< / a > < span class = "tsd-signature-symbol" > > < / span > < / li > < / ul > < ul class = "tsd-descriptions" > < li class = "tsd-description" > < aside class = "tsd-sources" > < ul > < li > Defined in < a href = "https://github.com/status-im/js-waku/blob/9fb9da0/src/lib/discovery/dns.ts#L75" > src/lib/discovery/dns.ts:75< / a > < / li > < / ul > < / aside > < div class = "tsd-comment tsd-typography" > < div class = "lead" >
2022-05-13 05:11:40 +00:00
< p > Runs a recursive, randomized descent of the DNS tree to retrieve a single
ENR record as an ENR. Returns null if parsing or DNS resolution fails.< / p >
2022-05-13 07:49:20 +00:00
< / div > < / div > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameters" > < li > < h5 > subdomain: < span class = "tsd-signature-type" > string< / span > < / h5 > < / li > < li > < h5 > context: < a href = "../modules/discovery.dns.html#SearchContext" class = "tsd-signature-type" data-tsd-kind = "Type alias" > SearchContext< / a > < / h5 > < / li > < / ul > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > null< / span > < span class = "tsd-signature-symbol" > | < / span > < a href = "enr.ENR.html" class = "tsd-signature-type" data-tsd-kind = "Class" > ENR< / a > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < / li > < / ul > < / section > < section class = "tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class" > < a id = "getPeers" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > get< wbr / > Peers< a href = "#getPeers" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-link" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" > < path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path > < path d = "M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" > < / path > < path d = "M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" > < / path > < / svg > < / a > < / h3 > < ul class = "tsd-signatures tsd-kind-method tsd-parent-kind-class" > < li class = "tsd-signature tsd-kind-icon" > get< wbr / > Peers< span class = "tsd-signature-symbol" > (< / span > enrTreeUrls< span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > string< / span > < span class = "tsd-signature-symbol" > []< / span > , wantedNodeCapabilityCount< span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > Partial< / span > < span class = "tsd-signature-symbol" > < < / span > < a href = "../interfaces/discovery.dns.NodeCapabilityCount.html" class = "tsd-signature-type" data-tsd-kind = "Interface" > NodeCapabilityCount< / a > < span class = "tsd-signature-symbol" > > < / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < a href = "enr.ENR.html" class = "tsd-signature-type" data-tsd-kind = "Class" > ENR< / a > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < / li > < / ul > < ul class = "tsd-descriptions" > < li class = "tsd-description" > < aside class = "tsd-sources" > < ul > < li > Defined in < a href = "https://github.com/status-im/js-waku/blob/9fb9da0/src/lib/discovery/dns.ts#L45" > src/lib/discovery/dns.ts:45< / a > < / li > < / ul > < / aside > < div class = "tsd-comment tsd-typography" > < div class = "lead" >
2022-05-13 05:11:40 +00:00
< p > Returns a list of verified peers listed in an EIP-1459 DNS tree. Method may
return fewer peers than requested if < a href = "../interfaces/discovery.BootstrapOptions.html#wantedNodeCapabilityCount" > wantedNodeCapabilityCount< / a > requires
larger quantity of peers than available or the number of errors/duplicate
peers encountered by randomized search exceeds the sum of the fields of
< a href = "../interfaces/discovery.BootstrapOptions.html#wantedNodeCapabilityCount" > wantedNodeCapabilityCount< / a > plus the < a href = "discovery.dns.DnsNodeDiscovery.html#_errorTolerance" > _errorTolerance< / a > factor.< / p >
2022-05-13 07:49:20 +00:00
< / div > < / div > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameters" > < li > < h5 > enrTreeUrls: < span class = "tsd-signature-type" > string< / span > < span class = "tsd-signature-symbol" > []< / span > < / h5 > < / li > < li > < h5 > wantedNodeCapabilityCount: < span class = "tsd-signature-type" > Partial< / span > < span class = "tsd-signature-symbol" > < < / span > < a href = "../interfaces/discovery.dns.NodeCapabilityCount.html" class = "tsd-signature-type" data-tsd-kind = "Interface" > NodeCapabilityCount< / a > < span class = "tsd-signature-symbol" > > < / span > < / h5 > < / li > < / ul > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < a href = "enr.ENR.html" class = "tsd-signature-type" data-tsd-kind = "Class" > ENR< / a > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < / li > < / ul > < / section > < section class = "tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static" > < a id = "dnsOverHttp" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < span class = "tsd-flag ts-flagStatic" > Static< / span > dns< wbr / > Over< wbr / > Http< a href = "#dnsOverHttp" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg xmlns = "http://www.w3.org/2000/svg" class = "icon icon-tabler icon-tabler-link" viewBox = "0 0 24 24" stroke-width = "2" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" > < path stroke = "none" d = "M0 0h24v24H0z" fill = "none" > < / path > < path d = "M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" > < / path > < path d = "M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" > < / path > < / svg > < / a > < / h3 > < ul class = "tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static" > < li class = "tsd-signature tsd-kind-icon" > dns< wbr / > Over< wbr / > Http< span class = "tsd-signature-symbol" > (< / span > endpoints< span class = "tsd-signature-symbol" > ?: < / span > < a href = "../modules/discovery.html#Endpoints" class = "tsd-signature-type" data-tsd-kind = "Type alias" > Endpoints< / a > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < a href = "discovery.dns.DnsNodeDiscovery.html" class = "tsd-signature-type" data-tsd-kind = "Class" > DnsNodeDiscovery< / a > < / li > < / ul > < ul class = "tsd-descriptions" > < li class = "tsd-description" > < aside class = "tsd-sources" > < ul > < li > Defined in < a href = "https://github.com/status-im/js-waku/blob/9fb9da0/src/lib/discovery/dns.ts#L33" > src/lib/discovery/dns.ts:33< / a > < / li > < / ul > < / aside > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameters" > < li > < h5 > < span class = "tsd-flag ts-flagOptional" > Optional< / span > endpoints: < a href = "../modules/discovery.html#Endpoints" class = "tsd-signature-type" data-tsd-kind = "Type alias" > Endpoints< / a > < / h5 > < / li > < / ul > < h4 class = "tsd-returns-title" > Returns < a href = "discovery.dns.DnsNodeDiscovery.html" class = "tsd-signature-type" data-tsd-kind = "Class" > DnsNodeDiscovery< / a > < / h4 > < / li > < / ul > < / section > < / section > < / div > < div class = "col-4 col-menu menu-sticky-wrap menu-highlight" > < nav class = "tsd-navigation primary" > < ul > < li class = "" > < a href = "../modules.html" > Exports< / a > < / li > < li class = "current tsd-kind-namespace" > < a href = "../modules/discovery.html" > discovery< / a > < ul > < li class = "current tsd-kind-namespace tsd-parent-kind-namespace" > < a href = "../modules/discovery.dns.html" > dns< / a > < / li > < li class = " tsd-kind-namespace tsd-parent-kind-namespace" > < a href = "../modules/discovery.predefined.html" > predefined< / a > < / li > < / ul > < / li > < li class = " tsd-kind-namespace" > < a href = "../modules/enr.html" > enr< / a > < / li > < li class = " tsd-kind-namespace" > < a href = "../modules/utils.html" > utils< / a > < / li > < li class = " tsd-kind-namespace" > < a href = "../modules/waku.html" > waku< / a > < / li > < li class = " tsd-kind-namespace" > < a href = "../modules/waku_light_push.html" > waku_< wbr / > light_< wbr / > push< / a > < / li > < li class = " tsd-kind-namespace" > < a href = "../modules/waku_message.html" > waku_< wbr / > message< / a > < / li > < li class = " tsd-kind-namespace" > < a href = "../modules/waku_relay.html" > waku_< wbr / > relay< / a > < / li > < li class = " tsd-kind-namespace" > < a href = "../modules/waku_store.html" > waku_< wbr / > store< / a > < / li > < / ul > < / nav > < nav class = "tsd-navigation secondary menu-sticky" > < ul > < li class = "current tsd-kind-class tsd-parent-ki