This project for the Peer-to-Peer-Systems and Security (IN2194) [TUM] is a Distributed Hash Table (DHT) implementing the Kademlia protocol. It provides a secure and efficient way to perform DHT operations. Written in Python and leveraging the Asyncio library, the system supports multi-client connections and offers robust exception handling.
- Implements the Kademlia protocol
- Supports DHT operations
- Multi-client connections
- Robust exception handling
Ensure that you have the following installed on your system:
- Python 3.11
- Poetry
Open your terminal and run the following command:
git clone https://github.com/SadikhovEmin/p2p-kademlia.git
Navigate to the project directory:
cd project-name
Install the required packages:
poetry install
Open shell:
poetry shell
Usage Run the bootstrap:
python main.py -a 127.0.0.1 -p 7401
Run the peer:
python main.py -a 127.0.0.1 -p 7402 --bootstrap
To run the test suite, execute:
pytest test/
This project is licensed under the MIT License. See the LICENSE file for details.
For more details, please refer to the project's documentation.