aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 68ef67296b0b700e0ff68d07ca457858b69a1243 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# karyons

An infrastructure for peer-to-peer, decentralized, and collaborative software.

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

Join us on:

- [Discord](https://discord.gg/xuXRcrkz3p)

## Crates 

- [karyons core](./core):  Essential utilities and core functionality.
- [karyons net](./net): Provides a network interface for TCP, UDP, and Unix,
  along with common network functionality. 
- [karyons p2p](./p2p): A lightweight, extensible, and customizable
  peer-to-peer (p2p) network stack.
- [karyons jsonrpc](./jsonrpc): A fast and small async
  [JSONRPC2.0](https://www.jsonrpc.org/specification) implementation.
- karyons crdt: A [CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) 
implementation for building collaborative software. 
- karyons base: A lightweight, extensible database that operates with karyons crdt.

## Status

This project is a work in progress. The current focus is on shipping karyons
crdt and karyons store, along with major changes to the network stack. You can
check the [issues](https://github.com/karyons/karyons/issues) for updates on
ongoing tasks.

## Docs

Online documentation for the main crates: 
[karyons_p2p](https://karyons.github.io/karyons/karyons_p2p), 
[karyons_jsonrpc](https://karyons.github.io/karyons/karyons_jsonrpc)

For the internal crates: 
[karyons_core](https://karyons.github.io/karyons/karyons_core), 
[karyons_net](https://karyons.github.io/karyons/karyons_net)

## Thanks

Big thanks to [Ink & Switch](https://www.inkandswitch.com/) team,
[smol](https://github.com/smol-rs/smol) async runtime, and
[zmq.rs](https://github.com/zeromq/zmq.rs) for the inspiration!.

## Contribution

Feel free to open a pull request or an [issue](https://github.com/karyons/karyons/issues/new). 

## 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](./LICENSE) file.