Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/libp2p/js-libp2p-webrtc-direct
Dial using WebRTC without the need to set up any Signalling Rendezvous Point!
https://github.com/libp2p/js-libp2p-webrtc-direct
Last synced: 3 months ago
JSON representation
Dial using WebRTC without the need to set up any Signalling Rendezvous Point!
- Host: GitHub
- URL: https://github.com/libp2p/js-libp2p-webrtc-direct
- Owner: libp2p
- License: other
- Archived: true
- Created: 2017-01-04T22:23:35.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-24T17:36:18.000Z (over 1 year ago)
- Last Synced: 2024-04-25T15:45:04.436Z (8 months ago)
- Language: TypeScript
- Homepage: https://github.com/libp2p/js-libp2p-webrtc-direct
- Size: 1.26 MB
- Stars: 78
- Watchers: 20
- Forks: 19
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ⚠️⚠️⚠️⚠️⚠️⚠️
**Status:**[Archived](https://github.com/libp2p/github-mgmt/pull/80) 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
# ⚠️⚠️⚠️⚠️⚠️⚠️# @libp2p/webrtc-direct
[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)
[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-webrtc-direct.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-webrtc-direct)
[![CI](https://img.shields.io/github/actions/workflow/status/libp2p/js-libp2p-webrtc-direct/js-test-and-release.yml?branch=master\&style=flat-square)](https://github.com/libp2p/js-libp2p-webrtc-direct/actions/workflows/js-test-and-release.yml?query=branch%3Amaster)> Dial using WebRTC without the need to set up any Signalling Rendezvous Point!
## Table of contents
- [Install](#install)
- [Browser `` tag](#browser-script-tag)
- [Usage](#usage)
- [API](#api)
- [Transport](#transport)
- [Connection](#connection)
- [Contribute](#contribute)
- [License](#license)
- [Contribution](#contribution)## Install
```console
$ 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.
```html
<script src="https://unpkg.com/@libp2p/webrtc-direct/dist/index.min.js">
```![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/packages/libp2p-interfaces/src/connection/img/badge.png)
![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/packages/libp2p-interfaces/src/transport/img/badge.png)**NOTE:** To run build scripts `node-pre-gyp` is required. You can install it by running `npm install -g node-pre-gyp`.
## Usage
```js
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
[![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/packages/libp2p-interfaces/src/transport/img/badge.png)](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/transport)
### Connection
[![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/packages/libp2p-interfaces/src/connection/img/badge.png)](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/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:
- Go through the modules and **check out existing issues**. This would be especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.
- **Perform code reviews**.
- **Add tests**. There can never be enough tests.## License
Licensed under either of
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / )
- MIT ([LICENSE-MIT](LICENSE-MIT) / )## 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.