Kademlia
Peer to peer networking is a complicated issue. How should the network be organised? How can a new member join a network? How to discover other nodes? And how should the data be exchanged between the nodes? In order to solve this issues, the Kademlia distributed hash table for decentralized peer-to-peer networks has been implemented.
Used technologies
- Javascript
- Node.JS
Github repository

The project has been created in group of 3 people with educational purposes for Building the Internet of Things with P2P and Cloud Computing course at Aarhus University.
The Kademlia implementation has been created based on the Kademlia: A Design Specification
Running the application
To run the application node.js and npm needs to be installed on your station.
First install node packages by executing: npm install
Basic command to start a single node listening on a specific port is: node index.js $portNumber
It is possible to start 10 nodes at a time by running a script: ./start.sh