ferripfs-network
IPFS networking with libp2p - DHT, Bitswap, and peer-to-peer connectivity.
Note: This crate is part of ferripfs, a Rust port of Kubo (the Go IPFS implementation). The implementation follows Kubo's core/node/libp2p package and uses the same network protocols for full interoperability.
Features
- libp2p Integration: Full networking stack
- Transport: TCP, QUIC, WebSocket
- Security: Noise encryption, Yamux multiplexing
- Discovery: mDNS, DHT, Bootstrap peers
- NAT Traversal: AutoNAT, relay, hole punching
- Daemon: Background network service
Usage
use ;
// Configure daemon
let config = DaemonConfig ;
// Start daemon
let daemon = start.await?;
// Get peer info
let info = daemon.id.await?;
println!;
println!;
// Connect to peer
daemon.connect.await?;
// List connected peers
for peer in daemon.peers.await?
// Shutdown
daemon.shutdown.await?;
Network Protocols
| Protocol | Description |
|---|---|
| Identify | Exchange peer information |
| Ping | Measure latency |
| Kademlia DHT | Peer and content routing |
| Bitswap | Block exchange |
| AutoNAT | NAT detection |
| Relay | Circuit relay for NAT traversal |
License
Dual-licensed under MIT and Apache-2.0.