Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

DHT implementation #3

Closed
5 tasks
jbenet opened this issue Jun 27, 2014 · 6 comments
Closed
5 tasks

DHT implementation #3

jbenet opened this issue Jun 27, 2014 · 6 comments

Comments

@jbenet
Copy link
Member

jbenet commented Jun 27, 2014

The next major subsystem to do is the DHT.

The rough plan in order of importance:

  • basic kademlia alg (ipfs-dht) <-- enough for now.
  • coral locality clusters (ipfs-dht)
  • s/kademlia disjoint path lookups (ipfs-dht)
  • s/kademlia peer addressing (ipfs-peer)
  • s/kademlia signatures (ipfs-msgproto-crypto)

Note that this module should work on top of a msgproto packet stream. msgproto handles all standard encapsulation (network, integrity, signing, etc).

@jbenet
Copy link
Member Author

jbenet commented Jun 27, 2014

There are several implementations of kademlia out there. @feross recently wrote https://github.com./feross/bittorrent-dht which implements mainlineDHT. Unfortunately the ipfs-dht is altogether different, but the basic kademlia algorithm is the same-- so should be able to take inspiration from that module.

@feross
Copy link

feross commented Jun 28, 2014

@jbenet, I would definitely appreciate feedback on bittorrent-dht. Let me know if you see anything that could be more efficient or simpler.

@martindale
Copy link

There is now also gordonwritescode/kad. Solid.

@jbenet
Copy link
Member Author

jbenet commented Apr 24, 2015

@martindale thanks!

@daviddias
Copy link
Member

@jbenet if you happen to have something on the DHT spec written down already, please feel free to push it so I can start on it tomorrow fresh and early :)

@daviddias
Copy link
Member

Closing this issue as it referes to the 1st impl of node-ipfs that is no longer supported (as we are building the new one compliant with the spec :) ).

MicrowaveDev pushed a commit to galtproject/js-ipfs that referenced this issue May 22, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants