wngr / libp2p-webrtc Goto Github PK
View Code? Open in Web Editor NEWWebRTC transport for libp2p (native and wasm)
License: Apache License 2.0
WebRTC transport for libp2p (native and wasm)
License: Apache License 2.0
How to build it in apple silicon mac?
Hi, firstly, congratulations for making working implementation of the webrtc for libp2p!
I was interested in your implementation of the signalling server and I noticed that it doesn't cover exchanging the candidates for the connection. In other words, peer can connect to another peer if their addresses has been exchanged through some different channel.
What I was planning to do was to send ice candidate message to some subset of connected peers just after the websocket connection has been established with the new peer.
On the higher level, the swarm of a connected peer would produce an event, something like NewCandidate
with address of the newly connected peer. That would work similarly to how snapdrop is dealing with peer discovery.
From implementation point of view it would be most reasonable to build new network behaviour (like mdns) and send candidates not even touching libp2p-webrtc transport. The problem is that the network behaviour doesn't have access to the websocket connections with peers (AFAIK).
Did you have thoughts about this problem? What are possibilities of solving it through this library?
Please let me know if my explanation was not clear or I confused any webrtc concepts.
async-tungstenite = { version = "0.17.1", features = ["tokio", "tokio-native-tls"] }
leaks into WASM builds. Eventually it tries to compile native TCP sockets where it fails.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.