Optional
relay: IRelayOptional
filterReadonly
healthOptional
lightReadonly
pubsubOptional
relayOptional
storeconsole.log(waku.peerId); // 12D3KooWNmk9yXHfHJ4rUduRqD1TCTHkNFMPF9WP2dqWpZDL4aUb
Returns a list of supported protocols.
console.log(waku.protocols); // ['/ipfs/id/1.0.0', '/ipfs/ping/1.0.0', '/vac/waku/filter-push/2.0.0-beta1', '/vac/waku/metadata/1.0.0']
Dials to the provided peer
information to use for dialing
Optional
protocols: Protocols[]array of Waku protocols to be used for dialing. If no provided - will be derived from mounted protocols.
Promise
that will resolve to a Stream
to a dialed peer
await waku.dial(remotePeerId, [Protocols.LightPush]);
waku.isConnected() === true;
Private
mapResolves when Waku successfully gains connection to a remote peers that fits provided requirements. Must be used after attempting to connect to nodes, using IWaku.dial or if was bootstrapped by using IPeerExchange or DnsDiscoveryComponents.
Optional
protocols: Protocols[]Protocols that need to be enabled by remote peers
Optional
timeoutMs: numberTimeout value in milliseconds after which promise rejects
Promise
that resolves if all desired protocols are fulfilled by
at least one remote peer, rejects if the timeoutMs is reached
If passing a protocol that is not mounted or Waku node is not started
try {
// let's wait for at least one LightPush node and timeout in 1 second
await waku.waitForPeers([Protocols.LightPush], 1000);
} catch(e) {
waku.isConnected() === false;
console.error("Failed to connect due to", e);
}
waku.isConnected() === true;
Returns a unique identifier for a node on the network.