-
Notifications
You must be signed in to change notification settings - Fork 446
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NAT Traversal with hopr-connect #870
Comments
Hey @robertkiel Thanks for reaching out! I had a look at HOPR and it seems super useful, really glad that you are working on this. Regarding
Let me know if you hit any issues that we can discuss. Regarding self dial, we block it in the API layer. |
Hi @vasco-santos, I managed to integrate a few more bugfixes into I'd also like to get in touch to get some feedback and kickstart a discussion on how to improve and align more with libp2p and its ecosystem. Potential improvements could include a more formal protocol specification of I've also seen that you are actively (re-)searching for a decentralized method to do NAT hole punching. I think The only point that confuses me a bit on the aforementioned approach is the question whether you intend to reimplement WebRTC's signalling handshake protocol or stick to working libraries such as WebRTC. Last but not least, I expect it to be relatively easy to feed a HTTP(s) stream into the |
Hello @robertkiel First of all thanks for all the nice updates here. Being able to use
Regarding the current work with NAT hole punching, as well as how we can align for a protocol specification, let me involve in this discussion @aarshkshah1992 who has been working on that initiative. I would like to see the Limited Relays capable of more things than NAT Traversal, including WebRTC signalling. There are other challenges though that make this feature more complex to land, as browser nodes cannot dial go nodes out of the box. This connectivity issue needs to be addressed so that browser nodes could efficiently leverage limited relays for distributed signalling. Let us know your thoughts here @aarshkshah1992 . We can also jump on a call to discuss this further later on |
Sounds good 👍 @vasco-santos could you set up a call and send me a link? My business mail address should be given in my GH profile. |
After syncing with the team, it would be good to start by creating an issue in https://github.com/libp2p/specs to initiate the discussion and provide visible context about hopr-connect. Could you start by opening an issue there and detail |
Sure. Will do that. TLDR:
|
Hi @vasco-santos , just finished the issue in libp2p/specs, see libp2p/specs#307 |
I'm closing given the issue in libp2p/specs: libp2p/specs#307. Please reopen if there are other items to discuss on this thread. |
Type: Enhancement
Severity: Low
Description:
At HOPR, we're building a decentralized and incentivized mixnet. We decided to use (and support) libp2p. During the last months, we've created an alternative transport module called HoprConnect that implements the Transport API and the Discovery API and automatically handles NAT traversal by using other nodes in the network - and without requiring any additional* third-party instances such as STUN or TURN servers.
We are right now actively testing the transport module within our testnet(s) to find the last errors and looking for comments and enhancement proposals and intend to start a conversation.
Currently, we are also integrating the corresponding test suites and searching for some feedback as our transport module prevents certain behavior such as self-dials. Next step will be the integration of AutoRelay as we have focused on getting stream handovers and connection upgrades resp. fallbacks working for one connection before adding multiple relays.
*the very first node needs an external STUN server
Steps to reproduce the error:
Use
js-libp2p
together withjs-libp2p-tcp
behind a consumer routerUpdates
hopr-connect
is now working and tested with js-libp2p@0.30The text was updated successfully, but these errors were encountered: