UNPKG

@waku/interfaces

Version:
47 lines (46 loc) 1.23 kB
import { PeerStore } from "@libp2p/interface"; export declare const DNS_DISCOVERY_TAG = "@waku/bootstrap"; export type SearchContext = { domain: string; publicKey: string; visits: { [key: string]: boolean; }; }; export interface DnsClient { resolveTXT: (domain: string) => Promise<string[]>; } export interface NodeCapabilityCount { relay: number; store: number; filter: number; lightPush: number; } export interface DnsDiscoveryComponents { peerStore: PeerStore; } export interface DnsDiscOptions { /** * ENR URL to use for DNS discovery */ enrUrls: string | string[]; /** * Specifies what type of nodes are wanted from the discovery process */ wantedNodeCapabilityCount: Partial<NodeCapabilityCount>; /** * Tag a bootstrap peer with this name before "discovering" it (default: 'bootstrap') */ tagName?: string; /** * The bootstrap peer tag will have this value (default: 50) */ tagValue?: number; /** * Cause the bootstrap peer tag to be removed after this number of ms (default: 2 minutes) */ tagTTL?: number; } export interface DiscoveryTrigger { findPeers: () => Promise<void>; }