dakk / kad.py Goto Github PK
View Code? Open in Web Editor NEWThis project forked from isaaczafuta/pydht
Python3 implementation of the Kademlia DHT data store
License: Other
This project forked from isaaczafuta/pydht
Python3 implementation of the Kademlia DHT data store
License: Other
Implements the ability to inject a validator function for messages. A message is processed only if the validator function return true
Implements the necessary abstraction for custom data handler
Getting keys with persistent storage fails.
Below how to replicate the error
from kad import DHT
import shelve
# bootstrap node
host1, port1 = 'localhost', 3000
# this node
host2, port2 = 'localhost', 3001
dht2 = DHT(host2, port2, seeds=[(host1,port1)], storage=shelve.open ('storage_two.dat'))
print (dht2["file00"]) # blocking get
dht2.get("file00", lambda d: print(d)) # threaded get
File "two.py", line 12, in <module>
print (dht2["file00"]) # blocking get
File "/Users/frag/Documents/kad.py/kad/kad.py", line 199, in __getitem__
if hashed_key in self.data:
File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/shelve.py", line 102, in __contains__
return key.encode(self.keyencoding) in self.dict
AttributeError: 'int' object has no attribute 'encode'
Implement a cool logger to display debug informations about:
Offline data cache to restore data after restart
Hello,
It's not an issue only two simple questions about things which are not in the documentation.
It's possible to delete a key/value from the DHT ?
Is there an expiration time by default for the key/value ?
Thank you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.