Home

Awesome

⚠️⚠️⚠️⚠️⚠️⚠️ <!-- omit in toc -->

Status:

Archived and not maintained

Alternatives:

WebRTC Browser-to-Server is being implemented in js-libp2p and tracked here https://github.com/libp2p/js-libp2p/issues/1478 per the specification: https://github.com/libp2p/specs/pull/412

WebRTC Browser-to-Browser is being tracked here: https://github.com/libp2p/js-libp2p/issues/1462

Questions:

Please direct any questions about the specification to: https://github.com/libp2p/specs/issues

Please direct any questions about the js-libp2p WebRTC implementations to: https://github.com/libp2p/js-libp2p/issues/1478 or https://github.com/libp2p/js-libp2p/issues/1462

⚠️⚠️⚠️⚠️⚠️⚠️ <!-- omit in toc -->

@libp2p/webrtc-direct <!-- omit in toc -->

libp2p.io Discuss codecov CI

Dial using WebRTC without the need to set up any Signalling Rendezvous Point!

Table of contents <!-- omit in toc -->

Install

$ npm i @libp2p/webrtc-direct

Browser <script> tag

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

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

NOTE: To run build scripts node-pre-gyp is required. You can install it by running npm install -g node-pre-gyp.

Usage

import { createLibp2p } from 'libp2p'
import { webRTCDirect } from '@libp2p/webrtc-direct'

const node = await createLibp2p({
  transports: [
    webRTCDirect()
  ]
  //... other config
})
await node.start()
await node.dial('/ip4/127.0.0.1/tcp/9090/http/p2p-webrtc-direct')

API

Transport

Connection

Contribute

The libp2p implementation in JavaScript is a work in progress. As such, there are a few things you can do right now to help out:

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.