Build distributed apps that raise the status quo for your users.
Iroh is a toolkit for building distributed apps. Open source and universally compatible, it's the quickest route from concept to connected devices.
Live collaborate on anything
Effortlessly invite users to a dynamic shared environment. iroh offers intuitive syncing across devices, with seamless hooks for instant read & write operations, simplifying the developer experience.
No central server required
Iroh establishes direct connections between devices for you, traversing across network address translation (NATs) with best-in-class connection rates.
Scale without limits
Iroh handles data of any magnitude, ensuring peak performance even when individual device capacities are exceeded.
built with iroh:
Connect Any two devices, directly. Dumb pipe is an open project built on iroh connections
Send files anywhere for free, without an account. Sendme is built on iroh blobs and connections.
Move data for free
Direct connections don't come with a bill. With iroh it's possible to build & use zero-cost tooling.
Build self-sustaining networks
users can start a movie on their computer, then transfer to their phone, bringing data with them.
iroh.network
Seamless cloud backing
Connect to a global network of iroh nodes that keep your data available at all times. iroh.network is an optional service for working with iroh.
Sign up for a free accountBuild in your language
Iroh supports a growing set of languages, embedding nodes directly in your project without any need to call out to an external API
start buildingdoc get
use 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(())
}
Install the CLI
Install iroh now & jump into the quickstart.
$ curl -fsSL https://sh.iroh.computer/install.sh | bash
$ iroh console --start