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 peer-discovery interface #222

Open
lgierth opened this Issue Aug 29, 2017 · 7 comments

Comments

6 participants
@lgierth
Member

lgierth commented Aug 29, 2017

As per https://github.com/libp2p/interface-peer-discovery

This interface would be implemented by:

  • mdns
  • bootstrap
  • random walk (does this currently exist in go-libp2p?)
  • in the future: webrtc, ...
@vyzo

This comment has been minimized.

Contributor

vyzo commented Aug 29, 2017

do we want this to be dht based?
It could be the solution to the generalized rendezvous problem, and be usable for pubsub, relay, etc

@Kubuxu

This comment has been minimized.

Member

Kubuxu commented Aug 29, 2017

Additional provider of peer-discovery is "old peers". This way we could make the network independent from the bootstrap nodes after first run.

@daviddias

This comment has been minimized.

Member

daviddias commented Aug 29, 2017

do we want this to be dht based?

DHT is Peer Routing + Content Routing. Read:

Peer Discovery is things like MulticastDNS or Bootstrap. Read:

peer-discovery is "old peers"

Yeah, we can have a resurrect Peer Discovery that knows how to store to disk old peers and then brings them back on node boot. 👍 👍

@deckbsd

This comment has been minimized.

deckbsd commented Feb 22, 2018

Hello everybody,

If i understand correctly, does that mean that actually from a go-libp2p peer i can't try to find some other peers ? that's why i was wondering how, when i start a host i can't make that host to connect to any other nodes. Because actually in the examples, each nodes are created like in client/server basic model (the client know the ip of the "server"(an other node that it can communicate with). m i wrong ?

@Kubuxu

This comment has been minimized.

Member

Kubuxu commented Feb 23, 2018

If i understand correctly, does that mean that actually from a go-libp2p peer i can't try to find some other peers ?

No, finding peers works (it is sometimes difficult in case of complicated/layered NATs).

This issue is about internal go-libp2p interface allowing better code structure when it comes to peer discovery.

@agahEbrahimi

This comment has been minimized.

agahEbrahimi commented Apr 15, 2018

@Kubuxu Are there any examples of the peer discovery? I've been wandering around for 2-3 days trying to find an example and only found one in JS https://github.com/libp2p/js-libp2p/tree/master/examples/discovery-mechanisms which was also mentioned above, but none in go.
Even though the website says that they are all complete in go.
screen shot 1397-01-26 at 10 47 01

Thank you

@Kubuxu

This comment has been minimized.

Member

Kubuxu commented Apr 17, 2018

@agahEbrahimi most of them should work by default. We are working on clearing up the bootstraping but for an example you can look here: #302

Random walk (DHT) should work by default and so should mdns AFAIK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment