A set of composable Rust crates for networking, peer-to-peer systems, and decentralized software.
All crates support both smol (default) and tokio. To use tokio, disable
default features and enable the tokio feature.
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"
- karyon_core: Core utilities and shared foundational components.
- karyon_net: Layered networking stack over TCP, QUIC, UDP, and Unix sockets, with composable layers for TLS, WebSocket, and SOCKS5.
- karyon_p2p: Extensible peer-to-peer networking stack with pluggable discovery, pluggable custom protocols, and support for TCP, TLS, and QUIC.
- karyon_swarm: Builds on the p2p layer with protocol-aware swarms and BitTorrent-style swarm-keyed discovery for scalable decentralized peer coordination.
- karyon_jsonrpc: Lightweight async JSON-RPC 2.0 implementation running over TCP, TLS, WebSocket, WSS, QUIC, HTTP/1.1, HTTP/2, HTTP/3, and Unix sockets.
- karyon_eventemitter: Lightweight asynchronous event emitter for strongly typed pub/sub communication.
Feel free to open a pull request or an issue.
All the code in this repository is licensed under the MIT License. You can find a copy of the license in the LICENSE file.