sammacbeth / pluggable-discovery-swarm

MIT License
12 stars 1 forks source link

Pluggable-discovery-swarm

A pluggable implementation of discovery-swarm. Enables multiple different introductors, announcers and transports to be specified at runtime and used to discover and connect to peers.

Currently implements:

Usage

const Swarm = require('discovery-swarm');
const DatGatewayIntroducer = require('discovery-swarm/web/dat-gateway');
const TCPTransport = require('discovery-swarm/webext/tcp-transport');
const LanDiscovery = require('discovery-swarm/webext/service-discovery');

const swarm = new Swarm({
  introducers: [
    new DatGatewayIntroducer(),
    new LanDiscovery({ announce: true }),
  ],
  transport: {
    tcp: new TCPTransport(),
  },
});
swarm.listen();
swarm.join(key);
swarm.on('peer', (peer) => {
  console.log('got a peer', peer);
});

License

MIT.