| Crates.io | quicnet |
| lib.rs | quicnet |
| version | 0.2.2 |
| created_at | 2025-12-19 02:03:50.723548+00 |
| updated_at | 2025-12-19 02:03:50.723548+00 |
| description | minimal peer-to-peer network protocol over QUIC |
| homepage | |
| repository | https://github.com/rotkonetworks/quicnet |
| max_upload_size | |
| id | 1994010 |
| size | 359,536 |
minimal peer-to-peer network protocol using QUIC transport and ed25519 identities.
cargo build # Debug build
cargo build --release # Release build with optimizations
cargo build --features webtransport # Build with webtransport support
cargo run -- -l # Run server mode
cargo run -- localhost # Run client mode
cargo run --example shell # Run shell example
cargo run --example chat # Run chat example
cargo run --features webtransport --example webtransport_chat
quicnet is a minimal peer-to-peer network protocol built on QUIC transport with Ed25519 identity-based authentication. The architecture binds cryptographic identities directly to the TLS layer, eliminating the need for certificate authorities.
~/.quicnet/id_ed25519)Core Modules (src/)
identity.rs: Ed25519 keypair management, SSH key parsing, PeerId generation
with base256/hex encodingpeer.rs: Unified peer implementation that can both dial and accept connectionsauth.rs: Symmetric application-layer challenge-response authentication protocolTransport Layer (src/transport/)
stream.rs: Authenticated bidirectional stream abstractionbuilder.rs: Peer configuration builders with rate limiting and audit optionsweb_compat.rs: WebTransport compatibility layer (optional feature)Security Features (src/security/)
rate_limit.rs: Connection rate limiting per IP addressaudit.rs: Security event logging systemPeer Management
authorized_peers.rs: Whitelist of allowed peer identitiesknown_hosts.rs: Trust-on-first-use (TOFU) store for peer identitiespending_peers.rs: Queue for peers awaiting authorizationPeer type handles both dialing and accepting