18

Which Distributed Hash Table (DHT) is easiest to implement in Python? Any good example that is not bloated?

I not am looking for a definition of DHT because I am more oriented and focused on design and implementation of such.

mtasic85
  • 3,905
  • 2
  • 19
  • 28

4 Answers4

11

In my job I'm working with entagled. I can't say it's great code, but it seems to be the only Kademlia implementation for Python around.

I think Kademlia has become the default DHT for most applications today, because it's quite simple and has fast lookups. At least in the academic world that I've seen so far.

Jochen Ritzel
  • 104,512
  • 31
  • 200
  • 194
  • 1
    I have used __entagled__, and I totally agree with you that it isn't the greatest code, but it works. Which one do you prefer Kademlia or Chord? – mtasic85 Nov 10 '09 at 10:02
  • 2
    I only worked with Kademlia, but I think Kademlia is a direct successors to Chord. It just has a simpler metric to find nodes and uses more parallelism in lookups. – Jochen Ritzel Nov 10 '09 at 16:20
  • For clarity of logic, this python open source code is good. It uses asyncio: https://github.com/bmuller/kademlia – Larry Freeman Dec 02 '22 at 20:58
10

If you are focused on implementation, rather than looking for an out-of-the-box solution, this article might help a bit: http://www.linuxjournal.com/article/6797

Benjamin Cox
  • 6,090
  • 21
  • 19
5

You might want to check out DHTBot. It's a python implementation of the BitTorrent MDHT and is written using twisted, a high-level python networking library.

(**Disclaimer: I am the author of DHTBot)

gsk
  • 558
  • 5
  • 12
4

You may also check btdht that doesn't use twisted and is useful to sniff Bittorrent DHT.

asterio gonzalez
  • 1,056
  • 12
  • 12