Skip to content

HsunGong/ppca-dht-test

Repository files navigation

DHT (stable)

See project at github acm wiki

Overview

  • A DHT can be viewed as a dictionary service distributed over a network: it provides access to a common shared key->value data-store, distributed over participating nodes with great performance and scalability.
  • From a user perspective, a DHT essentially provides a map interface, with two main operations: put(key, value) and get(key). Get will retrieve values stored at a certain key while put (often called announce) will store a value on the network. Note that many values can be stored under the same key.
  • There are many algorithms to implement dht, where Kademlia DHT algorithm requires to contact only O(log(N)) nodes for a get operation, N being the number of nodes in the network. This property makes DHTs very scalable as demonstrated.

More info in Wiki:DHT

Target

  • Use go-lang to implement a DHT with basic functions
  • Use this DHT to implement an easy application

Score

  • 70% - DHT tests
  • 20% - Applications with stable network
  • 10% - Bonus

Reference

  • Learn Go

A Tour of Go
Go package docs
Books about Go

  • DHT models

Chord
Pastry
Kademlia

  • Related project framework

Dixie
CMU
MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages