js-waku/interfaces/waku.CreateOptions.html

35 lines
18 KiB
HTML

<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CreateOptions | 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/waku.html">waku</a></li><li><a href="waku.CreateOptions.html">CreateOptions</a></li></ul><h1>Interface CreateOptions</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">CreateOptions</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>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#bootstrap" class="tsd-kind-icon">bootstrap</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#decryptionKeys" class="tsd-kind-icon">decryption<wbr/>Keys</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#libp2p" class="tsd-kind-icon">libp2p</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#pingKeepAlive" class="tsd-kind-icon">ping<wbr/>Keep<wbr/>Alive</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#pubSubTopic" class="tsd-kind-icon">pub<wbr/>Sub<wbr/>Topic</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#relayKeepAlive" class="tsd-kind-icon">relay<wbr/>Keep<wbr/>Alive</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#staticNoiseKey" class="tsd-kind-icon">static<wbr/>Noise<wbr/>Key</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="bootstrap" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> bootstrap<a href="#bootstrap" 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><div class="tsd-signature tsd-kind-icon">bootstrap<span class="tsd-signature-symbol">?:</span> <a href="discovery.BootstrapOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">BootstrapOptions</a></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/status-im/js-waku/blob/10d2533c/src/lib/waku.ts#L94">src/lib/waku.ts:94</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Use libp2p-bootstrap to discover and connect to new nodes.</p>
</div><div><p>See <a href="discovery.BootstrapOptions.html">BootstrapOptions</a> for available parameters.</p>
<p>Note: It overrides any other peerDiscovery modules that may have been set via
<a href="waku.CreateOptions.html#libp2p">CreateOptions.libp2p</a>.</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="decryptionKeys" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> decryption<wbr/>Keys<a href="#decryptionKeys" 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><div class="tsd-signature tsd-kind-icon">decryption<wbr/>Keys<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-type">string</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></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/status-im/js-waku/blob/10d2533c/src/lib/waku.ts#L95">src/lib/waku.ts:95</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="libp2p" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> libp2p<a href="#libp2p" 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><div class="tsd-signature tsd-kind-icon">libp2p<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Omit</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Libp2pOptions</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">CreateOptions</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">&quot;modules&quot;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>modules<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Libp2pModules</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/status-im/js-waku/blob/10d2533c/src/lib/waku.ts#L77">src/lib/waku.ts:77</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>You can pass options to the <code>Libp2p</code> instance used by <a href="../classes/waku.Waku.html">Waku</a> using the <a href="waku.CreateOptions.html#libp2p">CreateOptions.libp2p</a> property.
This property is the same type than the one passed to <a href="https://github.com/libp2p/js-libp2p/blob/master/doc/API.md#create"><code>Libp2p.create</code></a>
apart that we made the <code>modules</code> property optional and partial,
allowing its omission and letting Waku set good defaults.
Notes that some values are overridden by <a href="../classes/waku.Waku.html">Waku</a> to ensure it implements the Waku protocol.</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="pingKeepAlive" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> ping<wbr/>Keep<wbr/>Alive<a href="#pingKeepAlive" 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><div class="tsd-signature tsd-kind-icon">ping<wbr/>Keep<wbr/>Alive<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/status-im/js-waku/blob/10d2533c/src/lib/waku.ts#L62">src/lib/waku.ts:62</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Set keep alive frequency in seconds: Waku will send a <code>/ipfs/ping/1.0.0</code>
request to each peer after the set number of seconds. Set to 0 to disable.</p>
</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p><a href="../modules/waku.html#DefaultPingKeepAliveValueSecs">DefaultPingKeepAliveValueSecs</a></p>
</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="pubSubTopic" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> pub<wbr/>Sub<wbr/>Topic<a href="#pubSubTopic" 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><div class="tsd-signature tsd-kind-icon">pub<wbr/>Sub<wbr/>Topic<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/status-im/js-waku/blob/10d2533c/src/lib/waku.ts#L55">src/lib/waku.ts:55</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>The PubSub Topic to use. Defaults to <a href="../modules.html#DefaultPubSubTopic">DefaultPubSubTopic</a>.</p>
</div><div><p>One and only one pubsub topic is used by Waku. This is used by:</p>
<ul>
<li>WakuRelay to receive, route and send messages,</li>
<li>WakuLightPush to send messages,</li>
<li>WakuStore to retrieve messages.</li>
</ul>
<p>The usage of the default pubsub topic is recommended.
See <a href="https://rfc.vac.dev/spec/23/">Waku v2 Topic Usage Recommendations</a> for details.</p>
</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p><a href="../modules.html#DefaultPubSubTopic">DefaultPubSubTopic</a></p>
</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="relayKeepAlive" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> relay<wbr/>Keep<wbr/>Alive<a href="#relayKeepAlive" 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><div class="tsd-signature tsd-kind-icon">relay<wbr/>Keep<wbr/>Alive<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/status-im/js-waku/blob/10d2533c/src/lib/waku.ts#L69">src/lib/waku.ts:69</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Set keep alive frequency in seconds: Waku will send a ping message over
relay to each peer after the set number of seconds. Set to 0 to disable.</p>
</div><dl class="tsd-comment-tags"><dt>default</dt><dd><p><a href="../modules/waku.html#DefaultRelayKeepAliveValueSecs">DefaultRelayKeepAliveValueSecs</a></p>
</dd></dl></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a id="staticNoiseKey" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> static<wbr/>Noise<wbr/>Key<a href="#staticNoiseKey" 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><div class="tsd-signature tsd-kind-icon">static<wbr/>Noise<wbr/>Key<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Uint8Array</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/status-im/js-waku/blob/10d2533c/src/lib/waku.ts#L85">src/lib/waku.ts:85</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Byte array used as key for the noise protocol used for connection encryption
by <a href="https://github.com/libp2p/js-libp2p/blob/master/doc/API.md#create"><code>Libp2p.create</code></a>
This is only used for test purposes to not run out of entropy during CI runs.</p>
</div></div></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=" tsd-kind-namespace"><a href="../modules/discovery.html">discovery</a></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="current 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-interface tsd-parent-kind-namespace"><a href="waku.CreateOptions.html" class="tsd-kind-icon">Create<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#bootstrap" class="tsd-kind-icon">bootstrap</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#decryptionKeys" class="tsd-kind-icon">decryption<wbr/>Keys</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#libp2p" class="tsd-kind-icon">libp2p</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#pingKeepAlive" class="tsd-kind-icon">ping<wbr/>Keep<wbr/>Alive</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#pubSubTopic" class="tsd-kind-icon">pub<wbr/>Sub<wbr/>Topic</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#relayKeepAlive" class="tsd-kind-icon">relay<wbr/>Keep<wbr/>Alive</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="waku.CreateOptions.html#staticNoiseKey" class="tsd-kind-icon">static<wbr/>Noise<wbr/>Key</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>