
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
@libp2p/webrtc-star
Advanced tools
libp2p WebRTC transport that includes a discovery mechanism provided by the signalling-star
libp2p WebRTC transport that includes a discovery mechanism provided by the signalling-star
$ npm i @libp2p/webrtc-star
<script>
tagLoading 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>
libp2p-webrtc-star
is one of the WebRTC transports available for libp2p.
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')
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')
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.
ws.discovery
Licensed under either of
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.
FAQs
libp2p WebRTC transport that includes a discovery mechanism provided by the signalling-star
We found that @libp2p/webrtc-star demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
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.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.