You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of work on Embedded JS-IPFS in Brave #716 🦁 and epic about local discovery in browsers (ipfs/in-web-browsers#45)
Context
#754 introduced TCP transport and mDNS-based discovery of nodes in LAN via js-libp2p-mdns.
libp2p-mdns is pretty useful, as it aims to support both existing mDNS discovery service provided by every go-ipfs node (mdns:compat) and the new DNS Service Discovery (DNS-SD) described in libp2p/specs/discovery/mdns.md that aims to eventually replace it.
TL;DR
In other words, embedded js-ipfs running in Brave (#716) is able to discover go-ipfs on the same network and connect to it over regular TCP transport:
Known Issues
mdns discovery is passive at the moment
mdns:compat runs two services: one that queries, and one that responds to queries. Responder tries to listen on port 5353 and fails to start if something is already using the port.
chrome.sockets.udp does not support opening sockets with SO_REUSEADDR or SO_REUSEPORT (bugs.chromium.org#238819
this means it is very likely responding to mdns queries won't be enabled for most users, and DNS discovery is mostly passive (js-ipfs can discover other nodes and connect to them, but if we have two Brave nodes on the network those need to discover each other by other means)
Areas to explore
fix/tweak existing mdns spec or create a new discovery module specific to brave/browsers
Context
#754 introduced TCP transport and mDNS-based discovery of nodes in LAN via js-libp2p-mdns.
libp2p-mdns
is pretty useful, as it aims to support both existing mDNS discovery service provided by every go-ipfs node (mdns:compat
) and the new DNS Service Discovery (DNS-SD) described in libp2p/specs/discovery/mdns.md that aims to eventually replace it.TL;DR
In other words, embedded js-ipfs running in Brave (#716) is able to discover go-ipfs on the same network and connect to it over regular TCP transport:
Known Issues
mdns
discovery is passive at the momentmdns:compat
runs two services: one that queries, and one that responds to queries. Responder tries to listen on port 5353 and fails to start if something is already using the port.chrome.sockets.udp
does not support opening sockets withSO_REUSEADDR
orSO_REUSEPORT
(bugs.chromium.org#238819Areas to explore
multicastMembership: ""
– Multicast sample has invalid permissions. GoogleChrome/chrome-extensions-samples#119 (comment)References
SO_REUSEADDR
andSO_REUSEPORT
in http://man7.org/linux/man-pages/man7/socket.7.htmlchrome.sockets.udp
The text was updated successfully, but these errors were encountered: