js-waku/src/lib/node.ts
2021-03-10 14:58:04 +11:00

35 lines
837 B
TypeScript

import Libp2p from 'libp2p';
import Gossipsub from 'libp2p-gossipsub';
import Mplex from 'libp2p-mplex';
import { NOISE } from 'libp2p-noise';
import TCP from 'libp2p-tcp';
export async function createNode() {
const node = await Libp2p.create({
addresses: {
listen: ['/ip4/0.0.0.0/tcp/0'],
},
modules: {
transport: [TCP],
streamMuxer: [Mplex],
connEncryption: [NOISE],
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Type needs update
pubsub: Gossipsub,
},
config: {
pubsub: {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
enabled: true,
emitSelf: true,
signMessages: false,
strictSigning: false,
},
},
});
await node.start();
return node;
}