libp2p WebRTC transport that includes a discovery mechanism provided by the signalling-star
Last updated a year ago by steerapi .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @idn/libp2p-webrtc-star 
SYNC missed versions from official npm registry.


Discourse posts Dependency Status js-standard-style

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

Lead Maintainer

Vasco Santos.


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.



> npm install libp2p-webrtc-star


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()




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=


  • port - 13579
  • host - ''

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:


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

Current Tags

  • 0.15.10                                ...           latest (a year ago)

3 Versions

  • 0.15.10                                ...           a year ago
  • 0.15.9                                ...           2 years ago
  • 0.15.7                                ...           2 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 3
Last Month 4
Dependencies (20)
Dev Dependencies (10)
Dependents (0)

Copyright 2014 - 2016 © taobao.org |