diff options
author | hozan23 <hozan23@karyontech.net> | 2024-04-11 10:19:20 +0200 |
---|---|---|
committer | hozan23 <hozan23@karyontech.net> | 2024-05-19 13:51:30 +0200 |
commit | 0992071a7f1a36424bcfaf1fbc84541ea041df1a (patch) | |
tree | 961d73218af672797d49f899289bef295bc56493 /README.md | |
parent | a69917ecd8272a4946cfd12c75bf8f8c075b0e50 (diff) |
add support for tokio & improve net crate api
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 44 |
1 files changed, 30 insertions, 14 deletions
@@ -1,18 +1,34 @@ -# karyon +# Karyon -An infrastructure for peer-to-peer, decentralized, and collaborative software. +## Overview + +Many developers around the world aspire to build peer-to-peer, decentralized +apps that are resilient, secure, and free from central control. +However, there are still not many libraries and tools available to build these +kinds of apps. This forces many developers to either abandon their ideas or +develop a new p2p network stack and tools from scratch. Such efforts are not +only time-consuming but also prone to errors and security vulnerabilities, as +each new implementation reintroduces potential weaknesses. + +Karyon provides developers with the components and tools needed to create +decentralized apps. By offering a robust infrastructure, Karyon simplifies the +complexities associated with building p2p apps. Karyon's primary goal +is to make the process of decentralization more achievable and efficient for +developers everywhere, pushing for a future where software is more open, +secure, and free from central control. > 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: +## Join us +- [irc](irc://irc.libera.chat/#karyon) #karyon on Libera Chat - [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, +- [karyon net](./net): Provides a network interface for TCP, UDP, WebSocket, and Unix, along with common network functionality. - [karyon p2p](./p2p): A lightweight, extensible, and customizable peer-to-peer (p2p) network stack. @@ -20,14 +36,13 @@ Join us on: [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. +- karyon base: A lightweight, extensible database that operates with `karyon crdt`. -## Status +## Choosing the async runtime -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. +All the crates support both smol(async-std) and tokio. 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 @@ -39,11 +54,12 @@ For the internal crates: [karyon_core](https://karyontech.github.io/karyon/karyon_core), [karyon_net](https://karyontech.github.io/karyon/karyon_net) -## Thanks +## Status -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!. +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. ## Contribution |