libp2p-websocket-star

libp2p-webrtc-star without webrtc. Just plain socket.io.

No longer supported for js-libp2p0.27.0 or later
Last updated 6 years ago by jacobheun .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install libp2p-websocket-star 
SYNC missed versions from official npm registry.

libp2p-websocket-star

Travis Circle Coverage david-dm

libp2p-webrtc-star without webrtc. Just WebSockets with a relay point in the middle.

Lead Maintainer

Jacob Heun

Description

libp2p-websocket-star is one of the multiple transports available for libp2p. libp2p-websocket-star incorporates both a transport and a discovery service that is facilitated by the rendezvous server, also available in this repo and module.

Usage

Example

TODO

Install

> npm install libp2p-websocket-star

API

Transport

Connection

Peer Discovery - ws.discovery

Example

const libp2p = require("libp2p")
const Id = require("peer-id")
const Info = require("peer-info")
const multiaddr = require("multiaddr")
const pull = require('pull-stream')

const WSStar = require('libp2p-websocket-star')

Id.create((err, id) => {
  if (err) throw err

  const peerInfo = new Info(id)
  peerInfo.multiaddrs.add(multiaddr("/dns4/ws-star-signal-1.servep2p.com/tcp/443/wss/p2p-websocket-star/"))

  // TODO -> review why the ID can not be passed by the .listen call
  const ws = new WSStar({ id: id }) // the id is required for the crypto challenge

  const modules = {
    transport: [
      ws
    ],
    discovery: [
      ws.discovery
    ]
  }

  const node = new libp2p(modules, peerInfo)

  node.handle("/test/1.0.0", (protocol, conn) => {
    pull(
      pull.values(['hello']),
      conn,
      pull.map((s) => s.toString()),
      pull.log()
    )
  })

  node.start((err) => {
    if (err) {
      throw err
    }

    node.dial(peerInfo, "/test/1.0.0", (err, conn) => {
      if (err) {
        throw err
      }

      pull(
        pull.values(['hello from the other side']),
        conn,
        pull.map((s) => s.toString()),
        pull.log()
      )
    })
  })
})

Outputs:

hello
hello from the other side

Rendezvous server

Usage

To reduce dependencies libp2p-websocket-star comes without the rendezvous server, that means that you need to install libp2p-websocket-star-rendezvous to start a rendezvous server. To do that, first install the module globally in your machine with:

> npm install --global libp2p-websocket-star-rendezvous

This will install a rendezvous CLI tool. Now you can spawn the server with:

> rendezvous --port=9090 --host=127.0.0.1

Defaults:

  • port - 13579
  • host - '0.0.0.0'

Hosted Rendezvous server

We host a rendezvous server at /dns4/ws-star.discovery.libp2p.io that can be used for practical demos and experimentation, it should not be used for apps in production.

A libp2p-websocket-star address, using the signalling server we provide, looks like:

/dns4/ws-star.discovery.libp2p.io/tcp/443/wss/p2p-websocket-star/ipfs/<your-peer-id>

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

LICENSE MIT

Current Tags

  • 0.10.2                                ...           latest (6 years ago)

35 Versions

  • 0.10.2 [deprecated]           ...           6 years ago
  • 0.10.1 [deprecated]           ...           6 years ago
  • 0.10.0 [deprecated]           ...           6 years ago
  • 0.9.1 [deprecated]           ...           6 years ago
  • 0.9.0 [deprecated]           ...           6 years ago
  • 0.8.1 [deprecated]           ...           6 years ago
  • 0.8.0 [deprecated]           ...           7 years ago
  • 0.7.7 [deprecated]           ...           7 years ago
  • 0.7.6 [deprecated]           ...           7 years ago
  • 0.7.5 [deprecated]           ...           7 years ago
  • 0.7.2 [deprecated]           ...           7 years ago
  • 0.7.1 [deprecated]           ...           7 years ago
  • 0.7.0 [deprecated]           ...           7 years ago
  • 0.6.0 [deprecated]           ...           7 years ago
  • 0.5.1 [deprecated]           ...           7 years ago
  • 0.5.0 [deprecated]           ...           7 years ago
  • 0.4.1 [deprecated]           ...           7 years ago
  • 0.4.0 [deprecated]           ...           7 years ago
  • 0.3.0-rc4                                ...           7 years ago
  • 0.3.0-rc3                                ...           7 years ago
  • 0.3.0-rc2                                ...           7 years ago
  • 0.3.0-rc1                                ...           7 years ago
  • 0.3.0-rc0                                ...           7 years ago
  • 0.2.6 [deprecated]           ...           7 years ago
  • 0.2.5 [deprecated]           ...           7 years ago
  • 0.2.4 [deprecated]           ...           7 years ago
  • 0.2.3 [deprecated]           ...           7 years ago
  • 0.2.2 [deprecated]           ...           7 years ago
  • 0.2.1 [deprecated]           ...           7 years ago
  • 0.2.0 [deprecated]           ...           7 years ago
  • 0.1.3 [deprecated]           ...           7 years ago
  • 0.1.2 [deprecated]           ...           7 years ago
  • 0.1.1 [deprecated]           ...           7 years ago
  • 0.1.0 [deprecated]           ...           7 years ago
  • 0.0.1 [deprecated]           ...           7 years ago
Maintainers (2)
Downloads
Total 2
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (16)
Dev Dependencies (5)

© 2010 - cnpmjs.org x YWFE | Home | YWFE