Questions regarding peer discovery in libp2p #2683
Replies: 3 comments 8 replies
-
You are right. We are not doing a good job. Ideally I would simply like to track on each specification which implementation implements the spec. This data can then e.g. fill https://libp2p.io/bundles/. Let me know in case you would like to help with that.
Not sure what you are referring with
To be honest, I am surprised it is listed as a discovery mechanism. Also note, that we are redesigning libp2p's way of doing webrtc libp2p/specs#412
Is https://github.com/libp2p/specs/tree/master/rendezvous of some help?
No. It has the notion of peer exchange though that still depends on an external discovery mechanism.
E.g. in the case of Kademlia, a node speaking only TCP can discovery a node only speaking QUIC. Though as you said, they won't be able to connect.
The identify protocol has a
Peer routing would be using Kademlia https://github.com/libp2p/specs/blob/master/kad-dht/README.md
Let me know if the above is of some help. |
Beta Was this translation helpful? Give feedback.
-
Unfortunately we don't have much capacity to write these. Contributions are very much appreciated.
Peers advertise what they provide via the identify protocol. Also you can use rendezvous protocol to search for peers supporting a specific protocol / capability. Let me know if this is of some help @andrewdavidmackenzie. |
Beta Was this translation helpful? Give feedback.
-
I've used and explored the examples/. It looks like the ipfs-private example uses Identify a bit, but I don't see any using Rendezvous. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As can be seen from my recent posting here I have been tinkering with libp2p and especially trying to wrap my head around the discovery mechanism.
Only problem is, I have a couple of questions which I cannot find answers to into the documentations.
First observation is that the documentations all seems to be incomplete or outdated :( For example in the specification repository, only contains info for mdns as can be seen here
The section of the website that lists all the discovery mechanism supported by each implementation is also outdated, as can be seen here
I also found this README that outlined some of the discovery mechanisms. It does not look exhaustive.
So I am left with more questions than answers hence this post.
To the questions:
bootstrap
ormdns
are non-iterative. By non-iterative I mean, in the case of bootstraping, only connect to the node listed and stops, or in case ofmdns
only connect to nodes found on the same LAN. So effectively It does not offer any mechanism where new peers can be discovered from the initial peers first connected to?webrtc-star
discovery mechanism works?rendezvous
discovery mechanism. I see only implementation in Rust hereI continue tinkering and hopefully find answers to some of these questions myself...but will also appreciate if someone more familiar with the libp2p project can help provide answers/guidance
Beta Was this translation helpful? Give feedback.
All reactions