Skip to content
/ simkad Public

Python implementation of a kademlia client + simulated network

Notifications You must be signed in to change notification settings

iainb/simkad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a work-in-progress implementation of the Kademlia DHT network in python.

The design makes use of eventlet's queues and uses them as one might use
channels in go. This allows for a structure where the low level RPC's and
the higher level Kad functions can exist in separate layers.

The higher level functions are implemented in a blocking manner, though many of
them could be run concurrently in separate coroutines. I think the blocking
implementation should be easier to reason about and understand.

Implemented so far:

* Routing table with accelerated lookups
* Simulated Network Layer for testing
* RPCS:
    * FIND_NODE
    * FIND_VALUE
    * STORE
    * PING (though not used)
* Routing table unit tests
* test script

About

Python implementation of a kademlia client + simulated network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages