Socket
Socket
Sign inDemoInstall

@libp2p/webrtc-star

Package Overview
Dependencies
64
Maintainers
6
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @libp2p/webrtc-star

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


Version published
Weekly downloads
1.4K
decreased by-20.21%
Maintainers
6
Install size
5.14 MB
Created
Weekly downloads
 

Readme

Source

@libp2p/webrtc-star

libp2p.io Discuss codecov CI

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

Table of contents

Install

$ npm i @libp2p/webrtc-star

Browser <script> tag

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

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

Description

libp2p-webrtc-star is one of the WebRTC transports available for libp2p.

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:

import { createLibp2pNode } from 'libp2p'
import { webRTCStar } from '@libp2p/webrtc-star'
import wrtc from 'wrtc'
import electronWebRTC from 'electron-webrtc'

// Using wrtc in node
const star = webRTCStar({ wrtc })

// Using electron-webrtc in electron
const star = webRTCStar({ wrtc: electronWebRTC() })

const node = await createLibp2pNode({
  addresses: {
    listen: [
      '/ip4/188.166.203.82/tcp/20000/wss/p2p-webrtc-star'
    ]
  },
  transports: [
    star.transport
  ],
  peerDiscovery: [
    star.discovery
  ]
})
await node.start()

await node.dial('/ip4/188.166.203.82/tcp/20000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a')

Using this module in the Browser

import { createLibp2pNode } from 'libp2p'
import { webRTCStar } from '@libp2p/webrtc-star'

const star = webRTCStar()

const node = await createLibp2pNode({
  addresses: {
    listen: [
      '/ip4/188.166.203.82/tcp/20000/wss/p2p-webrtc-star'
    ]
  },
  transports: [
    star.transport
  ],
  peerDiscovery: [
    star.discovery
  ]
})
await node.start()

await node.dial('/ip4/188.166.203.82/tcp/20000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a')

Signalling server

This module has an accompanying signalling server which is used to discover other peers running the libp2p-webrtc-star transport.

Please see the libp2p-webrtc-star-signalling-server module for more information.

API

Transport

Connection

Peer Discovery - ws.discovery

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.

Keywords

FAQs

Last updated on 24 Apr 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc