Open lidel opened 4 years ago
Maybe I missed it, but did you fix the problems that made webRTC not work before - if I remember correctly (and its possible I don't) it was a problem with JS-IPFS needing lots of connections and webRTC having very high per-connection overhead.
I believe it should be partially addressed: js-ipfs added support for libp2p's ConnectionManager, which enables us to set limits on the number of connections maintained by js-ipfs. AFAIK we are still lacking primitives for controlling the number of connections per transport.
Why do you need getRemoteCertificates? Can't PeerConnection handle both stream muxing and encryption:
Work towards enabling WebRTC transport in Kubo is planned/tracked in https://github.com/ipfs/kubo/issues/9724
Current Status
js-libp2p-webrtc-star - libp2p WebRTC transport that includes a discovery mechanism provided by the signalling-star
go-libp2p-webrtc-direct / js-libp2p-webrtc-direct - A libp2p transport that enables browser-to-server, and server-to-server, direct communication over WebRTC without requiring signalling servers (examples)
Goals
Transport that does not require hardcoding centralized signaling server to work and is stable enough to be enabled by default in JS IPFS.
RTCDtlsTransport API: getRemoteCertificates could in theory let webrtc handle encryption & stream muxing in the browser. Unfortunately it is not supported by Firefox.. yet.
Ongoing IPFS Work
External Work
References