https://github.com/estigma88/jdhtuq
jDHTUQ is a peer-to-peer DHT system based in Chord algorithm, but built like API to generalize the implementation of peer-to-peer DHT systems. jDHTUQ have two fundamental services , put and get of resource.
https://github.com/estigma88/jdhtuq
chord-algorithm java p2p spring spring-boot
Last synced: 11 months ago
JSON representation
jDHTUQ is a peer-to-peer DHT system based in Chord algorithm, but built like API to generalize the implementation of peer-to-peer DHT systems. jDHTUQ have two fundamental services , put and get of resource.
- Host: GitHub
- URL: https://github.com/estigma88/jdhtuq
- Owner: estigma88
- License: gpl-3.0
- Created: 2017-12-24T16:10:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-11-04T16:19:23.000Z (over 7 years ago)
- Last Synced: 2025-07-22T09:50:16.484Z (11 months ago)
- Topics: chord-algorithm, java, p2p, spring, spring-boot
- Language: Java
- Size: 977 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jDHTUQ for peer-to-peer DHT networking
jDHTUQ is a peer-to-peer DHT system based on Chord algorithm, but built to generalize the implementation of peer-to-peer DHT systems. It have two fundamental services, put and get of a resource.
**jDHTUQ is using:**
- Reusable api for lookup and storage
- One implementation of Chord algorithm
- One implementation of a resources management (DHash)
- Spring Boot Starters for easy setup
- Independent communication module configurable
- Peer to peer communication simulation using a data structure
- Peer to peer network communication using sockets
## Download last versions
[](https://github.com/estigma88/jdhtuq/releases/download/desktop-structure-gui-v2.0.4/desktop-structure-gui-2.0.4.jar) [](https://github.com/estigma88/jdhtuq/releases/download/desktop-network-gui-v2.0.6/desktop-network-gui-2.0.6.jar) [](https://github.com/estigma88/jdhtuq/releases/download/standalone-network-v2.0.6/standalone-network-2.0.6.jar)
Data structure and network applications.
- Execute with double click or
- Using the console:
`java -jar .jar`
To get more information about how to use the examples, please refer to
[More Info](https://github.com/estigma88/jdhtuq/wiki) page
## How to use
### From source code
- Clone the repository
- Execute the following command in the root folder
- For desktop ui peer to peer simulation:
`gradlew :main:desktop-structure-gui:bootRun`
- For desktop ui peer to peer network with sockets:
`gradlew :main:desktop-network-gui:bootRun`
- For standalone peer to peer network with sockets:
`gradlew :main:standalone-network:bootRun`
### Using layers as dependencies
Add the following dependencies to your project to use Chord, DHash and Communication layers in your own project.
**Note**: This dependencies are Spring Boot Starters, so, your project must use Spring Boot
- Chord: [](https://maven-badges.herokuapp.com/maven-central/com.github.estigma88/jdhtuq-chord-spring-boot-starter)
- DHash: [](https://maven-badges.herokuapp.com/maven-central/com.github.estigma88/jdhtuq-dhash-spring-boot-starter)
- Communication: Use one of the following implementations
- Data Structure: [](https://maven-badges.herokuapp.com/maven-central/com.github.estigma88/jdhtuq-data-structure-communication-spring-boot-starter)
- Sockets: [](https://maven-badges.herokuapp.com/maven-central/com.github.estigma88/jdhtuq-socket-communication-spring-boot-starter)
## More info
[More Info](https://github.com/estigma88/jdhtuq/wiki)