mirror of
https://github.com/logos-messaging/js-waku.git
synced 2026-01-11 10:13:13 +00:00
72 lines
2.4 KiB
TypeScript
72 lines
2.4 KiB
TypeScript
import { Multiaddr } from "@multiformats/multiaddr";
|
|
|
|
import { getPseudoRandomSubset } from "./random_subset";
|
|
|
|
export const DefaultWantedNumber = 1;
|
|
|
|
export enum Fleet {
|
|
Prod = "prod",
|
|
Test = "test",
|
|
}
|
|
|
|
/**
|
|
* Return list of pre-defined (hardcoded) bootstrap nodes.
|
|
*
|
|
* Default behavior is to return nodes of the nwaku Status Prod fleet.
|
|
*
|
|
* @param fleet The fleet to be returned. Defaults to production fleet.
|
|
* @param wantedNumber The number of connections desired. Defaults to {@link DefaultWantedNumber}.
|
|
*
|
|
* @returns An array of multiaddresses.
|
|
*/
|
|
export function getPredefinedBootstrapNodes(
|
|
fleet: Fleet = Fleet.Prod,
|
|
wantedNumber: number = DefaultWantedNumber
|
|
): Multiaddr[] {
|
|
if (wantedNumber <= 0) {
|
|
return [];
|
|
}
|
|
|
|
let nodes;
|
|
switch (fleet) {
|
|
case Fleet.Prod:
|
|
nodes = fleets.fleets["wakuv2.prod"]["waku-websocket"];
|
|
break;
|
|
case Fleet.Test:
|
|
nodes = fleets.fleets["wakuv2.test"]["waku-websocket"];
|
|
break;
|
|
default:
|
|
nodes = fleets.fleets["wakuv2.prod"]["waku-websocket"];
|
|
}
|
|
|
|
nodes = Object.values(nodes) as string[];
|
|
|
|
nodes = nodes.map((node: string) => new Multiaddr(node));
|
|
return getPseudoRandomSubset(nodes, wantedNumber);
|
|
}
|
|
|
|
export const fleets = {
|
|
fleets: {
|
|
"wakuv2.prod": {
|
|
"waku-websocket": {
|
|
"node-01.ac-cn-hongkong-c.wakuv2.prod":
|
|
"/dns4/node-01.ac-cn-hongkong-c.wakuv2.prod.statusim.net/tcp/443/wss/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD",
|
|
"node-01.do-ams3.wakuv2.prod":
|
|
"/dns4/node-01.do-ams3.wakuv2.prod.statusim.net/tcp/443/wss/p2p/16Uiu2HAmL5okWopX7NqZWBUKVqW8iUxCEmd5GMHLVPwCgzYzQv3e",
|
|
"node-01.gc-us-central1-a.wakuv2.prod":
|
|
"/dns4/node-01.gc-us-central1-a.wakuv2.prod.statusim.net/tcp/443/wss/p2p/16Uiu2HAmVkKntsECaYfefR1V2yCR79CegLATuTPE6B9TxgxBiiiA",
|
|
},
|
|
},
|
|
"wakuv2.test": {
|
|
"waku-websocket": {
|
|
"node-01.ac-cn-hongkong-c.wakuv2.test":
|
|
"/dns4/node-01.ac-cn-hongkong-c.wakuv2.test.statusim.net/tcp/443/wss/p2p/16Uiu2HAkvWiyFsgRhuJEb9JfjYxEkoHLgnUQmr1N5mKWnYjxYRVm",
|
|
"node-01.do-ams3.wakuv2.test":
|
|
"/dns4/node-01.do-ams3.wakuv2.test.statusim.net/tcp/443/wss/p2p/16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ",
|
|
"node-01.gc-us-central1-a.wakuv2.test":
|
|
"/dns4/node-01.gc-us-central1-a.wakuv2.test.statusim.net/tcp/443/wss/p2p/16Uiu2HAmJb2e28qLXxT5kZxVUUoJt72EMzNGXB47Rxx5hw3q4YjS",
|
|
},
|
|
},
|
|
},
|
|
};
|