karyontech / karyon

A library for building p2p, decentralized, and collaborative software.
https://karyontech.net/
GNU General Public License v3.0
35 stars 2 forks source link
collaboration crdt decentralization jsonrpc kademlia local-first p2p rpc rust

Karyon

Build License

A library for building p2p, decentralized, and collaborative software

Website | Discord | irc #karyon on liberachat

In molecular biology, a Karyon is essentially "a part of the cell containing DNA and RNA and responsible for growth and reproduction"

Overview

Building peer-to-peer (p2p), decentralized applications that are resilient, secure, and free from central control is a challenge for developers. There are not many libraries and tools available to build these applications. As a result, many developers either abandon their ideas or have to develop a new p2p network stack and tools from scratch. Instead of sharing common components and tools for building p2p systems, every p2p project seems to reinvent the wheel, which increases the effort required and the potential for vulnerabilities.

Karyon addresses this issue by providing developers with the components and tools needed to create p2p and decentralized apps, simplifying the complexities associated with building them. its primary goal is to make decentralization more accessible and efficient for developers everywhere.

Crates

Choosing the async runtime

All the crates support both smol(async-std) and tokio async runtimes. The default is smol, but if you want to use tokio, you need to disable the default features and then select the tokio feature.

Docs

Online documentation for the main crates:

For the internal crates:

Status

This project is a work in progress. The current focus is on shipping karyon crdt and karyon base, along with major changes to the network stack. You can check the issues for updates on ongoing tasks.

Contribution

Feel free to open a pull request or an issue.

License

All the code in this repository is licensed under the GNU General Public License, version 3 (GPL-3.0). You can find a copy of the license in the LICENSE file.