No description
  • Go 98%
  • Shell 2%
Find a file
2019-12-15 17:22:35 +01:00
cmd add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
config add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
kademlia add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
node add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
rpc-test add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
.gitignore add FindClosestKBucket, add rpc FindNode & FindValue & Store (wip) 2019-12-09 19:47:20 +01:00
.travis.yml add travis 2019-12-07 17:31:11 +01:00
config.test0.yaml add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
config.test1.yaml add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
config.test2.yaml add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
config.test3.yaml add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
go.mod add node structure (cmd, config...) 2019-12-07 17:27:30 +01:00
go.sum add node structure (cmd, config...) 2019-12-07 17:27:30 +01:00
LICENSE Initial commit 2019-12-07 11:54:14 +01:00
main.go node rpc PING & PONG methods and calls 2019-12-08 13:21:12 +01:00
README.md add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00
run-dev-nodes.sh add admin RPC find call, add kademlia NodeLookup interactive 2019-12-15 17:22:35 +01:00

go-dht Go Report Card Build Status

Kademlia DHT Go implementation.

Following the specification from

Run

To run a node:

go run main.go --config config.test0.yaml --debug start

Test

  • Scenario:
+--+           +--+
|n0+-----------+n1|
+-++           +--+
  |
  |
  |    +--+           +--+
  +----+n2+-----------+n3|
       +--+           +--+
  • To run 4 test nodes inside a tmux session:
bash run-dev-nodes.sh

Using the test.go in the rpc-test directory:

  • calls to the node to perform lookups
    • go run test.go -find
      • performs an admin call to Find node, to the n0, asking about the n3
  • calls to simulate kademlia protocol rpc calls
    • go run test.go -ping
      • performs the PING call
    • go run test.go -findnode
      • performs the FIND_NODE call
    • go run test.go -findvalue
      • performs the FIND_VALUE call
    • go run test.go -store
      • performs the STORE call