@libp2p/websockets
TypeScript icon, indicating that this package has built-in type declarations

9.0.13 • Public • Published

@libp2p/websockets

libp2p.io Discuss codecov CI

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

About

A libp2p transport based on WebSockets.

Example

import { createLibp2p } from 'libp2p'
import { webSockets } from '@libp2p/websockets'
import { multiaddr } from '@multiformats/multiaddr'

const node = await createLibp2p({
  transports: [
    webSockets()
  ]
//... other config
})
await node.start()

const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws')
await node.dial(ma)

Filters

When run in a browser by default this module will only connect to secure web socket addresses.

To change this you should pass a filter to the factory function.

You can create your own address filters for this transports, or rely in the filters provided.

The available filters are:

  • filters.all
    • Returns all TCP and DNS based addresses, both with ws or wss.
  • filters.dnsWss
    • Returns all DNS based addresses with wss.
  • filters.dnsWsOrWss
    • Returns all DNS based addresses, both with ws or wss.

Example - Allow dialing insecure WebSockets

import { createLibp2p } from 'libp2p'
import { webSockets } from '@libp2p/websockets'
import * as filters from '@libp2p/websockets/filters'

const node = await createLibp2p({
  transports: [
    webSockets({
      // connect to all sockets, even insecure ones
      filter: filters.all
    })
  ]
})

Install

$ npm i @libp2p/websockets

Browser <script> tag

Loading this module through a script tag will make it's exports available as Libp2pWebsockets in the global namespace.

<script src="https://unpkg.com/@libp2p/websockets/dist/index.min.js"></script>

API Docs

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Readme

Keywords

Package Sidebar

Install

npm i @libp2p/websockets

Weekly Downloads

13,111

Version

9.0.13

License

Apache-2.0 OR MIT

Unpacked Size

113 kB

Total Files

35

Last publish

Collaborators

  • jacobheun
  • npm-service-account-libp2p
  • alanshaw
  • vascosantos
  • achingbrain
  • daviddias