eth-libp2p-webrtc-star

    0.0.2 • Public • Published

    js-libp2p-webrtc-star

    Discourse posts Dependency Status js-standard-style

    libp2p WebRTC transport that includes a discovery mechanism provided by the signalling-star

    Lead Maintainer

    Vasco Santos.

    Description

    libp2p-webrtc-star is one of the WebRTC transports available for libp2p. libp2p-webrtc-star incorporates both a transport and a discovery service that is facilitated by the signalling server, also part of this module.

    Usage

    Install

    > npm install libp2p-webrtc-star

    Usage

    Using this module in Node.js (read: not in the browser)

    To use this module in Node.js, you have to BYOI of WebRTC, there are multiple options out there, unfortunately, none of them are 100% solid. The ones we recommend are: wrtc and electron-webrtc.

    Instead of just creating the WebRTCStar instance without arguments, you need to pass an options object with the WebRTC implementation:

    const wrtc = require('wrtc')
    const electronWebRTC = require('electron-webrtc')
    const WStar = require('libp2p-webrtc-star')
     
    // Using wrtc
    const ws1 = new WStar({ wrtc: wrtc })
     
    // Using electron-webrtc
    const ws2 = new WStar({ wrtc: electronWebRTC() })

    Using this module in the Browser

    const WStar = require('libp2p-webrtc-star')
     
    const ws = new WStar()

    API

    Transport

    Connection

    Peer Discovery - ws.discovery

    Rendezvous server (aka Signalling server)

    Nodes using libp2p-webrtc-star will connect to a known point in the network, a rendezvous point where they can learn about other nodes (Discovery) and exchange their SDP offers (signalling data).

    libp2p-webrtc-star comes with its own signalling server, used for peers to handshake their signalling data and establish a connection. You can install it in your machine by installing the module globally:

    > npm install --global libp2p-webrtc-star

    This will expose a webrtc-star cli tool. To spawn a server do:

    > star-signal --port=9090 --host=127.0.0.1

    Defaults:

    • port - 13579
    • host - '0.0.0.0'

    Hosted Rendezvous Server

    We host a signalling server at star-signal.cloud.ipfs.team that can be used for practical demos and experimentation, it should not be used for apps in production. A libp2p-webrtc-star address, using the signalling server we provide, looks like:

    /dns4/star-signal.cloud.ipfs.team/wss/p2p-webrtc-star/ipfs/<your-peer-id>

    Note: The address above indicates WebSockets Secure, which can be accessed from both http and https.

    Keywords

    Install

    npm i eth-libp2p-webrtc-star

    DownloadsWeekly Downloads

    1

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    38.7 kB

    Total Files

    15

    Last publish

    Collaborators

    • avatar