iroh 0.24.0 - Upgrading to Quinn 11
Iroh 0.24.0 release
the networking stack for user agency
“In stark contrast to other p2p & dweb technologies we've played with - which are exciting due to their implications for the future - Iroh brought instant gains in our present."
- The Weird Team
Iroh gives you an API for dialing by public key. You say “connect to that phone”, iroh will find & maintain the fastest connection for you, regardless of where it is.
An ecosystem of ready-made, composable protocols are built on top of iroh.
Mix & match to get the feature set you need.
Resumable, verifiable data transfer
Broadcast messages to groups of nodes by topic.
Realtime, multiwriter, key-value sync
multiwriter, key-value sync with fine-grained access control
CRDT-powered collaborative documents
Don't see a protocol you need? Build your own! Iroh gives you a reliable foundation for building distributed systems that reach the edge. The rest is up to you.
Custom Protocol DocsIroh is running in production on hundreds of thousands of devices, on all major platforms.
Iroh powers multi-device backup & live connections for in-chat WebXDC apps
Iroh supports a growing set of languages, embedding nodes directly in your project without any need to call out to an external API
start buildinguse anyhow::Result;
use futures::stream::TryStreamExt;
#[tokio::main]
async fn main() -> Result<()> {
// build the node
let node = iroh::node::Node::memory().spawn().await?;
// create 2 documents
let _doc_0 = node.docs.create().await?;
let _doc_1 = node.docs.create().await?;
// list newly created docs
println!("List all docs:");
let mut docs = node.docs.list().await?;
while let Some((doc_id, _capability)) = docs.try_next().await? {
println!("{doc_id}");
}
Ok(())
}
Iroh 0.24.0 release
Iroh 0.23.0 release
Closing a QUIC connection without losing any data, using the Quinn API.
Iroh 0.22.0 release