Project for the course 1DT102 Computer Networks and Distributed Systems (10c) at Uppsala University. It implements a fully P2P chat application piggybacking on the BitTorrent DHT network for node discovery and a gossip protocol to exchange messages and peers within the system running over TCP sockets.
It is implemented using NodeJS but mostly only uses "low-level" abstractions except for the data-structure implementations.
Future improvements is among other things fully implementing the merkle tree for syncing and implementing proper error checking around the code (mainly for the NTP synchronization and NAT-PMP/UPnP code).
- Run
npm i
- Run
npm run start
npm run build
npm run flow check
npm run test