Storage Service

Defines the api to create a p2p storage service

License

License

GroupId

GroupId

com.github.estigma88
ArtifactId

ArtifactId

jdhtuq-storage-service
Last Version

Last Version

3.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

Storage Service
Defines the api to create a p2p storage service
Project URL

Project URL

https://github.com/estigma88/jdhtuq
Source Code Management

Source Code Management

https://github.com/estigma88/jdhtuq

Download jdhtuq-storage-service

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.estigma88/jdhtuq-storage-service/ -->
<dependency>
    <groupId>com.github.estigma88</groupId>
    <artifactId>jdhtuq-storage-service</artifactId>
    <version>3.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.estigma88/jdhtuq-storage-service/
implementation 'com.github.estigma88:jdhtuq-storage-service:3.0.1'
// https://jarcasting.com/artifacts/com.github.estigma88/jdhtuq-storage-service/
implementation ("com.github.estigma88:jdhtuq-storage-service:3.0.1")
'com.github.estigma88:jdhtuq-storage-service:jar:3.0.1'
<dependency org="com.github.estigma88" name="jdhtuq-storage-service" rev="3.0.1">
  <artifact name="jdhtuq-storage-service" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.estigma88', module='jdhtuq-storage-service', version='3.0.1')
)
libraryDependencies += "com.github.estigma88" % "jdhtuq-storage-service" % "3.0.1"
[com.github.estigma88/jdhtuq-storage-service "3.0.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

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

Github Releases (by Asset) Github Releases (by Asset) Github Releases (by Asset)

Data structure and network applications.

  • Execute with double click or
  • Using the console: java -jar <jdhash-version>.jar

To get more information about how to use the examples, please refer to More Info 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: Maven Central
  • DHash: Maven Central
  • Communication: Use one of the following implementations
    • Data Structure: Maven Central
    • Sockets: Maven Central

More info

More Info

Versions

Version
3.0.1
3.0.0
2.0.0