-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Implement (finish) circuit switching relay #82
Comments
cc @diasdavid @victorbjelkholm this is relevant to you two because of js-libp2p-relay. I started working on relay in go-ipfs as part of the "browser accesses go-ipfs" sprint (ipfs/team-mgmt#130). So far I think the cleanest solution is to make the relay service a transport, so that we get end-to-end encryption -- the existing but unused relay code makes no attempt at that. It might at first feel weird that a swarm protocol is at the same time a transport, but this kind of stack hopping is what you sign up for when building overlay networks. It'll be something like: the RelayService calls In the end I think this solution is the simplest in that it doesn't have to touch any existing libp2p interfaces. It will also fit in nicely with any future things like transport capabilities and connection estimators.
|
The spec is in libp2p/specs, the 🚢🚢🚢 |
The spec was revisited and released as 0.1.0 - https://github.com/libp2p/specs/tree/master/relay |
collect metrics in a separate go routine
circuit switching is a very basic form of relaying that we already have some code in place for in
p2p/protocol/relay
. The code isnt currently functional and needs some attention.Implementing circuit switching means that we can provide nearly 100% connectivity to users. Anyone who can connect to a public relay node should be able to communicate with any other user in the network (who can also connect to a public relay).
Tasks:
p2p/protocol/relay
Host
addonThe text was updated successfully, but these errors were encountered: