Go implementation of Chord - DHT protocol
make trace
- start the trace server (defaults to port 5000make serve
- start the first node (defaults to port 3000PORT=<port number> JOIN=<node to join ip> WEB=<port number> make serve
- for subsequent nodes. This could be automated but is a bit tricky with the bootstrapping process in the nodes.
Internode communication is on port 3000 by default. GraphQL API is on port 8000 by default. Useful GraphQL queries:
query {
get(key: "hello") {
value
trace {
addr
functionCall
duration
}
}
metadata {
node {
id
addr
fingerTable
predecessor {
id
addr
}
successor {
id
addr
}
}
}
}
mutation {
set(key: "hello", value: "world") {
count
trace {
addr
functionCall
duration
}
}
}