2022-06-20 04:34:12 +00:00
<!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
2022-01-24 08:45:55 +00:00
< 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 >
2022-06-20 04:34:12 +00:00
< / 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" > < < / span > < span class = "tsd-signature-type" > Libp2pOptions< / span > < span class = "tsd-signature-symbol" > & < / span > < span class = "tsd-signature-type" > CreateOptions< / span > < span class = "tsd-signature-symbol" > , < / span > < span class = "tsd-signature-type" > " modules" < / span > < span class = "tsd-signature-symbol" > > < / span > < span class = "tsd-signature-symbol" > & < / 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" > < < / span > < span class = "tsd-signature-type" > Libp2pModules< / 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#L77" > src/lib/waku.ts:77< / a > < / li > < / ul > < / aside > < div class = "tsd-comment tsd-typography" > < div class = "lead" >
2022-01-24 08:45:55 +00:00
< 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 >
2022-06-20 04:34:12 +00:00
< / 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" >
2022-01-24 08:45:55 +00:00
< 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 >
2022-06-20 04:34:12 +00:00
< / 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" >
2022-06-01 03:02:06 +00:00
< p > The PubSub Topic to use. Defaults to < a href = "../modules.html#DefaultPubSubTopic" > DefaultPubSubTopic< / a > .< / p >
2022-01-24 08:45:55 +00:00
< / 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 >
2022-06-01 03:02:06 +00:00
< / div > < dl class = "tsd-comment-tags" > < dt > default< / dt > < dd > < p > < a href = "../modules.html#DefaultPubSubTopic" > DefaultPubSubTopic< / a > < / p >
2022-06-20 04:34:12 +00:00
< / 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" >
2022-01-24 08:45:55 +00:00
< 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 >
2022-06-20 04:34:12 +00:00
< / 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" >
2022-01-24 08:45:55 +00:00
< 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 >
2022-03-25 06:17:30 +00:00
< / 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 >