js-waku/classes/_waku_enr.ENR.html

76 lines
105 KiB
HTML
Raw Normal View History

2025-12-24 12:15:44 +00:00
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ENR | Documentation</title><meta name="description" content="Documentation for Documentation"/><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 defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Documentation</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/_waku_enr.html">@waku/enr</a></li><li><a href="" aria-current="page">ENR</a></li></ul><h1>Class ENR</h1></div><section class="tsd-panel tsd-hierarchy" data-refl="7225"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-signature-type">RawEnr</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ENR</span></li></ul></li></ul></section><section class="tsd-panel"><h4>Implements</h4><ul class="tsd-hierarchy"><li><a href="../interfaces/_waku_interfaces.IEnr.html" class="tsd-signature-type tsd-kind-interface">IEnr</a></li></ul></section><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L33">packages/enr/src/enr.ts:33</a></li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="#constructor" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
2025-11-06 17:00:49 +00:00
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#tostringtag" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>[to<wbr/>String<wbr/>Tag]</span></a>
<a href="#getlocationmultiaddr" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>get<wbr/>Location<wbr/>Multiaddr</span></a>
<a href="#peerid" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>peer<wbr/>Id?</span></a>
<a href="#seq" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>seq</span></a>
<a href="#signature" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>signature?</span></a>
<a href="#size" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>size</span></a>
<a href="#species" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>[species]</span></a>
<a href="#record_prefix" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>RECORD_<wbr/>PREFIX</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Accessors</h3><div class="tsd-index-list"><a href="#id" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>id</span></a>
<a href="#ip" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>ip</span></a>
<a href="#ip6" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>ip6</span></a>
<a href="#multiaddrs" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>multiaddrs</span></a>
<a href="#nodeid" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>node<wbr/>Id</span></a>
<a href="#peerinfo" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>peer<wbr/>Info</span></a>
<a href="#publickey" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>public<wbr/>Key</span></a>
<a href="#rs" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>rs</span></a>
<a href="#rsv" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>rsv</span></a>
<a href="#shardinfo" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>shard<wbr/>Info</span></a>
<a href="#tcp" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>tcp</span></a>
<a href="#tcp6" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>tcp6</span></a>
<a href="#udp" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>udp</span></a>
<a href="#udp6" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>udp6</span></a>
<a href="#waku2" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>waku2</span></a>
</div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="#iterator" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>[iterator]</span></a>
<a href="#clear" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>clear</span></a>
<a href="#delete" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>delete</span></a>
<a href="#entries" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>entries</span></a>
<a href="#foreach" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>for<wbr/>Each</span></a>
<a href="#get" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get</span></a>
<a href="#getalllocationmultiaddrs" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>All<wbr/>Location<wbr/>Multiaddrs</span></a>
<a href="#getfullmultiaddr" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Full<wbr/>Multiaddr</span></a>
<a href="#getfullmultiaddrs" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Full<wbr/>Multiaddrs</span></a>
<a href="#has" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>has</span></a>
<a href="#keys" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>keys</span></a>
<a href="#set" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>set</span></a>
<a href="#setlocationmultiaddr" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Location<wbr/>Multiaddr</span></a>
<a href="#sign" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>sign</span></a>
<a href="#values" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>values</span></a>
<a href="#verify" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>verify</span></a>
<a href="#create" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>create</span></a>
2025-12-24 12:15:44 +00:00
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Constructors</h2></summary><section><section class="tsd-panel tsd-member tsd-is-protected"><h3 class="tsd-anchor-link" id="constructor"><code class="tsd-tag">Protected</code><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-protected"><li class=""><div class="tsd-signature tsd-anchor-link" id="constructorenr"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">ENR</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">kvs</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/_waku_interfaces.ENRKey.html" class="tsd-signature-type tsd-kind-type-alias">ENRKey</a><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">seq</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">bigint</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">signature</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-class">ENR</a><a href="#constructorenr" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">kvs</span>: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/_waku_interfaces.ENRKey.html" class="tsd-signature-type tsd-kind-type-alias">ENRKey</a><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = {}</span></span></li><li><span><span class="tsd-kind-parameter">seq</span>: <span class="tsd-signature-type">bigint</span><span class="tsd-signature-symbol"> = ...</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">signature</span>: <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">ENR</a></h4><aside class="tsd-sources"><p>Inherited from RawEnr.constructor</p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/raw_enr.ts#L24">packages/enr/src/raw_enr.ts:24</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" vie
</div></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#size">size</a></p><p>Inherited from RawEnr.size</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.collection.d.ts:45</li></ul></aside></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="species"><code class="tsd-tag">Static</code> <code class="tsd-tag">Readonly</code><span>[species]</span><a href="#species" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">&quot;[species]&quot;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MapConstructor</span></div><aside class="tsd-sources"><p>Inherited from RawEnr.[species]</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts:319</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="record_prefix"><code class="tsd-tag">Static</code> <code class="tsd-tag">Readonly</code><span>RECORD_<wbr/>PREFIX</span><a href="#record_prefix" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">RECORD_PREFIX</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;enr:&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L34">packages/enr/src/enr.ts:34</a></li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Accessors</h2></summary><section><section class="tsd-panel tsd-member tsd-is-inherited"><h3 class="tsd-anchor-link" id="id"><span>id</span><a href="#id" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li><div class="tsd-signature" id="idid"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">id</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#id">id</a></p><p>Inherited from RawEnr.id</p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/raw_enr.ts#L40">packages/enr/src/raw_enr.ts:40</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><h3 class="tsd-anchor-link" id="ip"><span>ip</span><a href="#ip" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li><div class="tsd-signature" id="ipip"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">ip</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">string</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd
2022-09-09 16:11:18 +00:00
<p>This field is used to store multiaddresses that cannot be stored with the current ENR pre-defined keys.
These can be a multiaddresses that include encapsulation (e.g. wss) or do not use <code>ip4</code> nor <code>ip6</code> for the host
address (e.g. <code>dns4</code>, <code>dnsaddr</code>, etc)..</p>
<p>If the peer information only contains information that can be represented with the ENR pre-defined keys
2025-11-06 17:00:49 +00:00
(ip, tcp, etc) then the usage of <a href="#getlocationmultiaddr" class="tsd-kind-property">ENR.getLocationMultiaddr</a> should be preferred.</p>
2022-09-09 16:11:18 +00:00
<p>The multiaddresses stored in this field are expected to be location multiaddresses, ie, peer id less.</p>
2025-12-24 12:15:44 +00:00
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">[]</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#multiaddrs">multiaddrs</a></p><p>Inherited from RawEnr.multiaddrs</p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/raw_enr.ts#L127">packages/enr/src/raw_enr.ts:127</a></li></ul></aside></div></li><li><div class="tsd-signature" id="multiaddrsmultiaddrs-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">multiaddrs</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">multiaddrs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Set the <code>multiaddrs</code> field on the ENR.</p>
2022-09-09 16:11:18 +00:00
<p>This field is used to store multiaddresses that cannot be stored with the current ENR pre-defined keys.
These can be a multiaddresses that include encapsulation (e.g. wss) or do not use <code>ip4</code> nor <code>ip6</code> for the host
address (e.g. <code>dns4</code>, <code>dnsaddr</code>, etc)..</p>
<p>If the peer information only contains information that can be represented with the ENR pre-defined keys
2025-11-06 17:00:49 +00:00
(ip, tcp, etc) then the usage of <a href="#setlocationmultiaddr" class="tsd-kind-method">ENR.setLocationMultiaddr</a> should be preferred.
2022-09-09 16:11:18 +00:00
The multiaddresses stored in this field must be location multiaddresses,
ie, without a peer id.</p>
2025-12-24 12:15:44 +00:00
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">multiaddrs</span>: <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#multiaddrs">multiaddrs</a></p><p>Inherited from RawEnr.multiaddrs</p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/raw_enr.ts#L147">packages/enr/src/raw_enr.ts:147</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="nodeid"><span>node<wbr/>Id</span><a href="#nodeid" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="nodeidnodeid"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">nodeId</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">string</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#nodeid">nodeId</a></p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L55">packages/enr/src/enr.ts:55</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="peerinfo"><span>peer<wbr/>Info</span><a href="#peerinfo" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="peerinfopeerinfo"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">peerInfo</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">PeerInfo</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">PeerInfo</span></h4><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#peerinfo">peerInfo</a></p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L118">packages/enr/src/enr.ts:118</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><h3 class="tsd-anchor-link" id="publickey"><span>public<wbr/>Key</span><a href="#publickey" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li><div class="tsd-signature" id="publickeypublickey"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">publicKey</span><span class="tsd-signatur
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <a href="../interfaces/_waku_interfaces.Waku2.html" class="tsd-signature-type tsd-kind-interface">Waku2</a></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#waku2">waku2</a></p><p>Inherited from RawEnr.waku2</p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/raw_enr.ts#L154">packages/enr/src/raw_enr.ts:154</a></li></ul></aside></div></li><li><div class="tsd-signature" id="waku2waku2-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">waku2</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">waku2</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <a href="../interfaces/_waku_interfaces.Waku2.html" class="tsd-signature-type tsd-kind-interface">Waku2</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Set the <code>waku2</code> field on the ENR.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">waku2</span>: <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <a href="../interfaces/_waku_interfaces.Waku2.html" class="tsd-signature-type tsd-kind-interface">Waku2</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#waku2">waku2</a></p><p>Inherited from RawEnr.waku2</p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/raw_enr.ts#L164">packages/enr/src/raw_enr.ts:164</a></li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="iterator"><span>[iterator]</span><a href="#iterator" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="iterator-1"><span class="tsd-kind-call-signature">&quot;[iterator]&quot;</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MapIterator</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span><a href="#iterator-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterable of entries in the map.</p>
2025-11-06 17:00:49 +00:00
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">MapIterator</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#iterator">[iterator]</a></p><p>Inherited from RawEnr.[iterator]</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:143</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="clear"><span>clear</span><a href="#clear" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="clear-1"><span class="tsd-kind-call-signature">clear</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#clear-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#clear">clear</a></p><p>Inherited from RawEnr.clear</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.collection.d.ts:20</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="delete"><span>delete</span><a href="#delete" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="delete-1"><span class="tsd-kind-call-signature">delete</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">key</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#delete-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">key</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>true if an element in the Map existed and has been removed, or false if the element does not exist.</p>
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#delete">delete</a></p><p>Inherited from RawEnr.delete</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.collection.d.ts:24</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="entries"><span>entries</span><a href="#entries" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="entries-1"><span class="tsd-kind-call-signature">entries</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MapIterator</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span><a href="#entries-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterable of key, value pairs for every entry in the map.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">MapIterator</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#entries">entries</a></p><p>Inherited from RawEnr.entries</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:148</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="foreach"><span>for<wbr/>Each</span><a href="#foreach" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="foreach-1"><span class="tsd-kind-call-signature">forEach</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">callbackfn</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">key</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">map</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">thisArg</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#foreach-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Executes a provided function once per each key/value pair in the Map, in insertion order.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">callbackfn</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">key</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">map</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">void</span></span></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">thisArg</span>: <span class="tsd-signature-type">any</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#foreach">forEach</a></p><p>Inherited from RawEnr.forEach</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.collection.d.ts:28</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="get"><span>get</span><a href="#get" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="get-1"><span class="tsd-kind-call-signature">get</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">key</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><a href="#get-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns a specified element from the Map object. If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the Map.</p>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">key</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a></h4><p>Returns the element associated with the specified key. If no element is associated with the specified key, undefined is returned.</p>
2025-12-24 12:15:44 +00:00
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#get">get</a></p><p>Inherited from RawEnr.get</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.collection.d.ts:33</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getalllocationmultiaddrs"><span>get<wbr/>All<wbr/>Location<wbr/>Multiaddrs</span><a href="#getalllocationmultiaddrs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getalllocationmultiaddrs-1"><span class="tsd-kind-call-signature">getAllLocationMultiaddrs</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">[]</span><a href="#getalllocationmultiaddrs-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">[]</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L98">packages/enr/src/enr.ts:98</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getfullmultiaddr"><span>get<wbr/>Full<wbr/>Multiaddr</span><a href="#getfullmultiaddr" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getfullmultiaddr-1"><span class="tsd-kind-call-signature">getFullMultiaddr</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">protocol</span><span class="tsd-signature-symbol">:</span> <a href="../enums/_waku_enr.TransportProtocol.html" class="tsd-signature-type tsd-kind-enum">TransportProtocol</a> <span class="tsd-signature-symbol">|</span> <a href="../enums/_waku_enr.TransportProtocolPerIpVersion.html" class="tsd-signature-type tsd-kind-enum">TransportProtocolPerIpVersion</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Multiaddr</span><a href="#getfullmultiaddr-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the full multiaddr from the ENR fields matching the provided
2022-09-09 16:11:18 +00:00
<code>protocol</code> parameter.
To return full multiaddrs from the <code>multiaddrs</code> ENR field,
2025-11-06 17:00:49 +00:00
use <a href="#getfullmultiaddrs" class="tsd-kind-method">ENR.getFullMultiaddrs</a>.</p>
2025-12-24 12:15:44 +00:00
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">protocol</span>: <a href="../enums/_waku_enr.TransportProtocol.html" class="tsd-signature-type tsd-kind-enum">TransportProtocol</a> <span class="tsd-signature-symbol">|</span> <a href="../enums/_waku_enr.TransportProtocolPerIpVersion.html" class="tsd-signature-type tsd-kind-enum">TransportProtocolPerIpVersion</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">Multiaddr</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L135">packages/enr/src/enr.ts:135</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getfullmultiaddrs"><span>get<wbr/>Full<wbr/>Multiaddrs</span><a href="#getfullmultiaddrs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="getfullmultiaddrs-1"><span class="tsd-kind-call-signature">getFullMultiaddrs</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">[]</span><a href="#getfullmultiaddrs-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the full multiaddrs from the <code>multiaddrs</code> ENR field.</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">[]</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#getfullmultiaddrs">getFullMultiaddrs</a></p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L150">packages/enr/src/enr.ts:150</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="has"><span>has</span><a href="#has" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="has-1"><span class="tsd-kind-call-signature">has</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">key</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#has-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">key</span>: <span class="tsd-signature-type">string</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>boolean indicating whether an element with the specified key exists or not.</p>
2025-11-06 17:00:49 +00:00
<div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#has">has</a></p><p>Inherited from RawEnr.has</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.collection.d.ts:37</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><h3 class="tsd-anchor-link" id="keys"><span>keys</span><a href="#keys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited tsd-is-external"><li class="tsd-is-inherited tsd-is-external"><div class="tsd-signature tsd-anchor-link" id="keys-1"><span class="tsd-kind-call-signature">keys</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MapIterator</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><a href="#keys-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns an iterable of keys in the map</p>
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">MapIterator</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#keys">keys</a></p><p>Inherited from RawEnr.keys</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:153</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><h3 class="tsd-anchor-link" id="set"><span>set</span><a href="#set" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-is-inherited"><div class="tsd-signature tsd-anchor-link" id="set-1"><span class="tsd-kind-call-signature">set</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">k</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">v</span><span class="tsd-signature-symbol">:</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">this</span><a href="#set-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Adds a new element with a specified key and value to the Map. If an element with the same key already exists, the element will be updated.</p>
2025-12-24 12:15:44 +00:00
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">k</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">v</span>: <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#set">set</a></p><p>Inherited from RawEnr.set</p><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/raw_enr.ts#L34">packages/enr/src/raw_enr.ts:34</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="setlocationmultiaddr"><span>set<wbr/>Location<wbr/>Multiaddr</span><a href="#setlocationmultiaddr" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="setlocationmultiaddr-1"><span class="tsd-kind-call-signature">setLocationMultiaddr</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">multiaddr</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Multiaddr</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#setlocationmultiaddr-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">multiaddr</span>: <span class="tsd-signature-type">Multiaddr</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L74">packages/enr/src/enr.ts:74</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sign"><span>sign</span><a href="#sign" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="sign-1"><span class="tsd-kind-call-signature">sign</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">data</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">privateKey</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><a href="#sign-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-p
</div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">MapIterator</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"></div><aside class="tsd-sources"><p>Implementation of <a href="../interfaces/_waku_interfaces.IEnr.html">IEnr</a>.<a href="../interfaces/_waku_interfaces.IEnr.html#values">values</a></p><p>Inherited from RawEnr.values</p><ul><li>Defined in node_modules/typescript/lib/lib.es2015.iterable.d.ts:158</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="verify"><span>verify</span><a href="#verify" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="verify-1"><span class="tsd-kind-call-signature">verify</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">data</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">signature</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><a href="#verify-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">data</span>: <span class="tsd-signature-type">Uint8Array</span></span></li><li><span><span class="tsd-kind-parameter">signature</span>: <span class="tsd-signature-type">Uint8Array</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/waku-org/js-waku/blob/9a1e9cecc5b2a96d1b9bffbdc4a1c4a53929d1a9/packages/enr/src/enr.ts#L160">packages/enr/src/enr.ts:160</a></li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="create"><code class="tsd-tag">Static</code><span>create</span><a href="#create" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="create-1"><span class="tsd-kind-call-signature">create</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">kvs</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/_waku_interfaces.ENRKey.html" class="tsd-signature-type tsd-kind-type-alias">ENRKey</a><span class="tsd-signature-symbol">,</span> <a href="../types/_waku_interfaces.ENRValue.html" class="tsd-signature-type tsd-kind-type-alias">ENRValue</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">seq</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">bigint</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">signature</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-