Skip to content

Peer connections #78

@Deepp0925

Description

@Deepp0925

even though two peers don't share a same room, the still get connected via Libp2p.

how to reproduce
run the code
in new terminal run the same code but change the room topic

const Room = require("ipfs-pubsub-room");
const Libp2p = require("libp2p");
const MPLEX = require("libp2p-mplex");
const SECIO = require("libp2p-secio");
const PUBSUB = require("libp2p-floodsub");
const WebRTCStar = require("libp2p-webrtc-star");
const TCP = require("libp2p-tcp");
const wrtc = require("wrtc");

const main = async () => {
  try {
    const libp2p = await Libp2p.create({
      modules: {
        transport: [TCP, WebRTCStar],
        connEncryption: [SECIO],
        streamMuxer: [MPLEX],
        pubsub: PUBSUB,
      },
      config: {
        transport: {
          WebRTCStar: {
            wrtc,
          },
        },
      },
    });

    const webrtcAddr =
           "/dns4/quiet-lowlands-16063.herokuapp.com/tcp/443/wss/p2p-webrtc-star/";
    libp2p.peerInfo.multiaddrs.add(webrtcAddr);

    await libp2p.start();
    console.log(`libp2p id is ${libp2p.peerInfo.id.toB58String()}`);

    libp2p.on("peer:connect", () => {
      console.log("peer connected");
    });

    libp2p.on("peer:disconnect", () => {
      console.log("peer disconnected");
    });

    const room = new Room(libp2p, "room-name");
    room.on("peer joined", (peer) => {
      console.log("Peer joined the room", peer);
    });

    room.on("peer left", (peer) => {
      console.log("Peer left...", peer);
    });

    // now started to listen to room
   // this never gets fired
    room.on("subscribed", () => {
      console.log("Now connected!");
    });
  } catch (error) {
    console.log("error", error);
  }
};

main();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions