Re: Using the DHT to find download sources
"pwang708" <[email protected]>
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Message-ID | <[email protected]> |
> The original Kademlia specs are aimed at providing a true Distributed Hash > Table (DHT) layer. Like a hash table (HT), the DHT will offer PUT(key, value) > and GET(key) features. But the Kademlia DHT, just like the HT, does not > make provision for multiple values under the same key. That is, PUT will > override the value already stored under the key. > > A natural usage of a DHT in Gnutella would be to have keys be the SHA1 > of files (or the SHA1 of your binary GUID to store push-proxies) and the > value you put is simply your IP:port. By issuing PUT(key, IP:port), > you tell the DHT that you supply "key" at IP:port. If key is a SHA1, > it means you offer the file, if key is the SHA1 of your GUID, it means > the IP:port is the address of your push-proxy. > > Therefore the Gnutella DHT is not meant to store a single value at a key > but an array of IP:port instead. FYI: in the current Mojito DHT implementation, different values can be stored under the same key (primary key). Different values under the same primary key can be identified by a secondary key. Peng