| Crates.io | s5_blobs |
| lib.rs | s5_blobs |
| version | 1.0.0-beta.1 |
| created_at | 2025-11-26 05:01:34.468722+00 |
| updated_at | 2025-11-26 05:01:34.468722+00 |
| description | Blob management and networking for S5 |
| homepage | |
| repository | https://github.com/s5-dev/s5-rs |
| max_upload_size | |
| id | 1950967 |
| size | 156,555 |
Iroh-based blob transport layer for S5. This crate handles the exchange of content-addressed blobs between peers.
BlobsServer: An Iroh protocol handler that serves blobs from configured BlobStores. It supports access control (ACLs) per peer.Client: An RPC client for querying, uploading, downloading, and deleting blobs on remote peers.
s5_core::BlobsRead and s5_core::BlobsWrite, allowing it to be used generically wherever blob access is needed.RemoteBlobStore: An implementation of s5_core::Store that proxies operations to a remote peer via Client.s5/blobs/0Query(hash): Check existence/size.Download(hash, offset, len): Stream blob content.Upload(hash, size): Stream blob content to server.Delete(hash): Unpin/delete blob.use s5_blobs::{Client, RemoteBlobStore};
// Connect to a peer
let client = Client::connect(endpoint, peer_addr);
// Use as a Store
let store = RemoteBlobStore::new(client);
let bytes = store.open_read_bytes("hash...", 0, None).await?;