Skip to content

ravikiran232/chord-p2p

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Title: Chord Algorithm Visualization

This project is a demonstration of the Chord Distributed Hash Table (DHT) algorithm in a peer-to-peer network. It provides a visual representation of how nodes in the Chord network update their finger tables by checking the node IDs of known nodes.

The core logic of the Chord algorithm is implemented in the chord.rs file. This includes the creation of nodes, updating of finger tables, and handling of predecessors

"Screenshot of the application"

for running the linux app

Get the app from release and run the runapp.sh file.

./runapp.sh

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Rust programming language
  • Flutter for UI visualization

Installation

  1. Clone the repository
git clone <repository-url>
  1. Navigate into the rust project directory
cd <rust-project-directory>
  1. Build the project
cargo build
  1. Run the project
cargo run
  1. Navigate into the Flutter directory
cd <flutter-project-directory>
  1. Run the flutter application using
flutter run

Usage

The application starts a rust local server that listens for incoming connection from Flutter app. It receives nodes from the Flutter, processes them, and sends back the fingertables.

The visualization of the finger table of each node can be viewed in the Flutter application.

Built With

  • Rust - The programming language used
  • Flutter - The UI toolkit used for building the visualization

Contributing

If you want to improve the code, find any mistakes, or have any suggestions, feel free to make a pull request or create an issue. I appreciate your help in making this project better.

License

This project is licensed under the MIT License - see the LICENSE.md file for details