'use strict' const Libp2p = require('libp2p') const Websockets = require('libp2p-websockets') const { NOISE } = require('libp2p-noise') const MPLEX = require('libp2p-mplex') async function main () { const node = await Libp2p.create({ modules: { transport: [Websockets], connEncryption: [NOISE], streamMuxer: [MPLEX] }, addresses: { listen: ['/ip4/0.0.0.0/tcp/0/ws'] // TODO check "What is next?" section // announce: ['/dns4/auto-relay.libp2p.io/tcp/443/wss/p2p/QmWDn2LY8nannvSWJzruUYoLZ4vV83vfCBwd8DipvdgQc3'] }, config: { relay: { enabled: true, hop: { enabled: true }, advertise: { enabled: true, } } } }) await node.start() console.log(`Node started with id ${node.peerId.toB58String()}`) console.log('Listening on:') node.multiaddrs.forEach((ma) => console.log(`${ma.toString()}/p2p/${node.peerId.toB58String()}`)) } main()