Go implementation of Chord - DHT protocol
Have Go installed, all that stuff
BloomRPC is helpful to test RPC calls
brew cask install bloomrpc
make
- run linting and testsmake serve
- start grpc servermake serve.silent
if you don't want to watch 1 billion RPC calls zoom bymake trace
- start the trace server (defaults to port 5000)PORT=<port number> JOIN=<node to join ip> WEB=<port number> make serve
make trace.codegen
- generate protobuf code for the trace servermake scale.codegen
- generate protobuf code for the scale server
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
}
}
}