Crate iroh_blobs
source ·Expand description
Blobs layer for iroh.
The crate is designed to be used from the iroh crate, which provides a high level interface, but can also be used standalone.
It implements a protocol for streaming content-addressed data transfer using BLAKE3 verified streaming.
It also provides a store interface for storage of blobs and outboards, as well as a persistent and a memory store implementation.
To implement a server, the provider module provides helpers for handling connections and individual requests given a store.
To perform get requests, the get module provides utilities to perform requests and store the result in a store, as well as a low level state machine for executing requests.
The downloader module provides a component to download blobs from multiple sources and store them in a store.
Re-exports§
Modules§
- cli
cli
Define blob-related commands. - downloader
downloader
Handle downloading blobs and collections concurrently and from nodes. - Functions to export data from a store
- Defines data formats for HashSeq.
- The client side API
- traits related to collections of blobs
- Metrics for iroh-blobs
- net_protocol
net_protocol
Adaptation ofiroh-blobs
as aniroh
protocol. - The server side API
- rpc
rpc
Provides a rpc protocol as well as a client for the protocol - Implementations of blob stores
- test_utils
test
ortest-utils
An iroh node that just has the blobs transport - Utility functions and types.
Structs§
- Hash type used throughout.
- A hash and format pair
Enums§
- A format identifier
Constants§
- Block size used by iroh, 2^4*1024 = 16KiB