Skip to content

Latest commit

 

History

History
83 lines (59 loc) · 2.8 KB

README.md

File metadata and controls

83 lines (59 loc) · 2.8 KB

js-libp2p-websockets

Coverage Status Travis CI Circle CI Dependency Status js-standard-style

JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport interface

Lead Maintainer

Jacob Heun

Description

libp2p-websockets is the WebSockets implementation compatible with libp2p.

Usage

Install

npm

> npm i libp2p-websockets

Example

const WS = require('libp2p-websockets')
const multiaddr = require('multiaddr')
const pull = require('pull-stream')

const mh = multiaddr('/ip4/0.0.0.0/tcp/9090/ws')

const ws = new WS()

const listener = ws.createListener((socket) => {
  console.log('new connection opened')
  pull(
    pull.values(['hello']),
    socket
  )
})

listener.listen(mh, () => {
  console.log('listening')

  pull(
    ws.dial(mh),
    pull.collect((err, values) => {
      if (!err) {
        console.log(`Value: ${values.toString()}`)
      } else {
        console.log(`Error: ${err}`)
      }

      // Close connection after reading
      listener.close()
    }),
  )
})

API

Transport

Connection