Status: [ready to use]. [active maintainance]. Playground (sample runnable project) available here.
Implementation of kademlia API DHT using:
ConnectionInfo
with host
and port
)RequestSender
implementation)This library uses BigInteger
as Node IDs and NettyConnectionInfo
as implementation of ConnectionInfo
interafce.
However, it is still abstract, therefore you should implement some parts that are mentioned in kademlia API such as:
NodeSettings
. Default one may not be suitable for you.KeyHasGenerator
.
This is used for bounding the key sizes to network size before storing messages.There are few working examples in tests directory.
Main example has everything for you to start understanding how this library works. It creates 2 nodes and stores data in DHT.
Custom DTO Example
is on top of previous example, but this time we are serializing and storing a different DTO object called Person
instead of a simple String.
Using maven:
<dependency>
<groupId>io.ep2p</groupId>
<artifactId>kademlia-netty</artifactId>
<version>0.3.2-RELEASE</version>
</dependency>
Coffee has a cost :smile:
Any sort of small or large donations can be a motivation in maintaining this repository and related repositories.
0x5F120228C12e2C6923AfDeb0e811d74160166d90
TJjw5n26KFBqkJQbs7eKdxkVuk4pvJdFzE
bc1qmtewrl7srjrkl8t4z5vantuqkz086srj4clzh3
Cheers