Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ep2p/somnia
Decentralized storage with private trust. Powered by Spring Boot, MongoDB and Kademlia algorithm.
https://github.com/ep2p/somnia
decentralized java kademlia mongodb sprint-boot
Last synced: about 2 months ago
JSON representation
Decentralized storage with private trust. Powered by Spring Boot, MongoDB and Kademlia algorithm.
- Host: GitHub
- URL: https://github.com/ep2p/somnia
- Owner: ep2p
- License: gpl-3.0
- Archived: true
- Created: 2021-04-10T17:37:16.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-16T02:42:37.000Z (about 2 years ago)
- Last Synced: 2024-09-19T05:19:14.577Z (about 2 months ago)
- Topics: decentralized, java, kademlia, mongodb, sprint-boot
- Language: Java
- Homepage:
- Size: 188 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.ep2p/somnia/badge.png?gav=true)](https://maven-badges.herokuapp.com/maven-central/io.ep2p/somnia)
```
-------------------------------------------------------------
| ______ _ |
| .' ____ \ (_) |
| | (___ \_| .--. _ .--..--. _ .--. __ ,--. |
| _.____`. / .'`\ \ [ `.-. .-. | [ `.-. | [ | `'_\ : |
| | \____) | | \__. | | | | | | | | | | | | | // | |, |
| \______.' '.__.' [___||__||__] [___||__] [___] \'-;__/ |
-------------------------------------------------------------
| Decentralized storage based on MongoDB and SpringBoot |
-------------------------------------------------------------
```Somnia is a small library to handle data distribution in a trusted (private) decentralized network. Using kademlia algorithm, Somnia is able to transfer data to a certain node on network or distribute it between many nodes.
Somnia is strongly depended on **Spring Boot** and by default it uses **Mongo DB** as storage. Also, it's written on top of [ep2p/kademlia-api](https://github.com/ep2p/kademlia-api) and you'd need to understand the kademlia-api before using Somnia.
On the other hand, due to the nature of kademlia-api library, Somnia is completely independed from how you want to implement connections between the nodes and the discovery system. You can use any protocols such as HTTP, WebSocket, Raw TCP, etc.