50.041-Chord-Project

Useful Links

Chord Original Paper
50.041 eDimension
Jira Board
GitHub
Checkpoint 1

Useful commands

Install new dependencies and uninstall unused ones

go mod tidy

Run server or entry node

go run ServerNode
go run EntryNode

Start the system:

./start.sh [NUM_SERVERS] [TOLERANCE]

Which will make the web frontend available at localhost:3000.

For communication between nodes, the entry node is available at entry_node:3000/path/to/thing and the server nodes are available at server_node[NODE_ID]:[4000+NODE_ID]/path/to/thing.

Create a new server node:

./addNode_[lf || crlf].sh [NODE_NAME] [NODE_ID] [TOLERANCE]

Note that NODE_ID should be a number greater than the current number of nodes