-
Notifications
You must be signed in to change notification settings - Fork 90
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
Relays and AutoRelay #4
Comments
I found the Circuit Relay > Relay Addresses section confusing. Should some instances of |
It's correct, but I think things could be clearer. There's really no reason to even mention Perhaps it would be better to simply take the recommended address structure |
We should address this topic somewhere in the docs, probably as part of a larger discussion of NATed hosts. Points to cover:
What are Relay nodes? (Servers operated by PL that NAT'd hosts can connect to directly to discover peers. Explain that all traffic from nodes using a relay will pass through the relay, which is expensive and expected to be slower than direct connections. We should also explain to folks that if you use this, you're relying on a piece of centralized infrastructure and all the limitations that come with that...)
How do I use relay nodes in my code? How can a user tell whether his traffic is going through a relay node? (I believe the answer to the first one is that it's just a flag in the go-libp2p Host constructor. We should show a code example, including how to catch errors if relay nodes are unavailable for some reason. Also, I believe only go-libp2p supports this right now; should make that clear. On the second one, I don't know. If there's not a way, we should log an issue with whoever is working on diagnostic tooling for libp2p.)
Other NAT hole punching. The whole reason for relay nodes is to help developers whose users have NAT'd hosts, like PCs on a home router. We should roll this in to a larger discussion of NAT'd hosts, e.g., current status of uPnP to open ports on the router, current status of STUN/ICE (not available afaik), etc.
The text was updated successfully, but these errors were encountered: