iroh-blobs 0.90 - New Request Types and Features
Learn about the new features in the new blobs API
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.
“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."
An ecosystem of ready-made, composable protocols are built on top of iroh.
Mix & match to get the feature set you need.
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.
Protocol DocsAll commits to iroh's main branch run through a growing set of simulations & tests
Iroh Perf SiteIroh is running in production on hundreds of thousands of devices, on all major platforms.
// a program that creates two endpoints & sends a ping between them
use anyhow::Result;
use iroh::{Endpoint, protocol::Router};
use iroh_ping::{ALPN as PingALPN, Ping};
#[tokio::main]
async fn main() -> Result<()> {
// create the receive side
let recv_ep = Endpoint::builder().discovery_n0().bind().await?;
let recv_router = Router::builder(recv_ep)
.accept(PingALPN, Ping::new())
.spawn();
let addr = recv_router.endpoint().node_addr().await?;
// create a send side & send a ping
let send_ep = Endpoint::builder().discovery_n0().bind().await?;
let send_pinger = Ping::new();
send_pinger.ping(&send_ep, addr).await?;
// ok!
Ok(())
}
Learn about the new features in the new blobs API
Upgrade to the latest version of `iroh-blobs`