Replies: 4 comments
-
👋 If I'm not mistaken, There are three mechanisms in play that are related to NATs:
|
Beta Was this translation helpful? Give feedback.
-
Thank you very much the detailed reply! This definitely makes things clearer! I will play around with it and see how far I can get 😃 |
Beta Was this translation helpful? Give feedback.
-
I remember asking @tomaka the same thing on IRC and he said you can use At MaidSafe we have developed a pure Rust implementation solely for hole punching: https://github.com/ustulation/p2p . Unfortunately, it only works with mio, not tokio and you should glue it with DHT you decide to use, etc. Wish there was an I/O free implementation of such library. Then it could be plugged into any type of networking implementation, etc. See the hole punching module from tox-rs project :) |
Beta Was this translation helpful? Give feedback.
-
I just wrote a summary of what we're doing at the moment: #794 (comment) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi there!
Thanks for all the efforts you put into this library! I have a question and didn't exactly know where to ask it, thus this issue.
I have been playing around with writing a decentralized backup tool and really want to try using this library for that. However I am stuck with the problem that I don't know how to implement a peer to peer connection when both peers are behind different NATs (using the IPFS Kademlia DHT for bootstrapping like in the ipfs-kad example).
I assume it is my lack of knowledge in p2p systems, but is there any chance you can hint me into the correct direction? I tried to reconstruct a go-libp2p example (https://github.com/libp2p/go-libp2p-examples/tree/master/chat-with-rendezvous), which lead me to #297 . I was unable to translate calls to
discovery
likediscovery.Advertise()
. Would this beadd_provider()
inrust_libp2p
(which is not yet implemented?)Did I maybe misunderstand the purpose of this library?
Any help would be appreciated! Thanks! :)
(Also I think for other people who have the same/a similar use case, it would be good to have this kind of problem as an example in this repository - I will add that once I understand how to do it)
Beta Was this translation helpful? Give feedback.
All reactions