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
|
# karyon
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
- [karyon core](./core): Essential utilities and core functionality.
- [karyon net](./net): Provides a network interface for TCP, UDP, and Unix,
along with common network functionality.
- [karyon p2p](./p2p): A lightweight, extensible, and customizable
peer-to-peer (p2p) network stack.
- [karyon jsonrpc](./jsonrpc): A fast and small async
[JSONRPC2.0](https://www.jsonrpc.org/specification) implementation.
- karyon crdt: A [CRDT](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)
implementation for building collaborative software.
- karyon base: A lightweight, extensible database that operates with karyon crdt.
## 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](https://github.com/karyontech/karyon/issues) for updates on
ongoing tasks.
## Docs
Online documentation for the main crates:
[karyon_p2p](https://karyontech.github.io/karyon/karyon_p2p),
[karyon_jsonrpc](https://karyontech.github.io/karyon/karyon_jsonrpc)
For the internal crates:
[karyon_core](https://karyontech.github.io/karyon/karyon_core),
[karyon_net](https://karyontech.github.io/karyon/karyon_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/karyontech/karyon/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.
|