Awesome
<h1 align="center"><a href="https://iroh.computer"><img alt="iroh" src="./.img/iroh_wordmark.svg" width="100" /></a></h1> <h3 align="center"> A toolkit for building distributed applications </h3> <div align="center"> <h3> <a href="https://iroh.computer/docs"> Docs Site </a> <span> | </span> <a href="https://docs.rs/iroh"> Rust Docs </a> <span> | </span> <a href="https://github.com/n0-computer/iroh/releases"> Releases </a> </h3> </div> <br/>Features
- Documents - Authors create and join documents: mutable key-value stores that multiple users read from, write to, and sync with, subscribing to live updates in real time.
- Blobs - Iroh works with content-addressed blobs of opaque data, which are often the bytes of a file.
- Networking - At the core of iroh is the ability to connect any two devices, no matter where they are.
Overview
Iroh is a protocol for syncing & moving bytes. Bytes of any size, on any device. At its core, it's a peer-2-peer network built on a magic socket that establishes QUIC connections between peers. Peers request and provide blobs of opaque bytes that are incrementally verified by their BLAKE3 hash during transfer.
Getting Started
Iroh is delivered as a Rust library and a CLI.
Library
Run cargo add iroh
, to add iroh
to your project.
CLI
Check out https://iroh.computer/docs/install to get started.
The implementation lives in the iroh-cli
crate.
Links
License
Copyright 2024 N0, INC.
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.