| Crates.io | ipfrs-storage |
| lib.rs | ipfrs-storage |
| version | 0.1.0 |
| created_at | 2026-01-18 20:47:40.768358+00 |
| updated_at | 2026-01-18 20:47:40.768358+00 |
| description | Storage backends and block management for IPFRS content-addressed system |
| homepage | https://github.com/cool-japan/ipfrs |
| repository | https://github.com/cool-japan/ipfrs |
| max_upload_size | |
| id | 2053069 |
| size | 1,177,549 |
Blockstore implementation for IPFRS - the persistent storage layer.
ipfrs-storage provides high-performance, Rust-native key-value storage for IPFRS blocks with:
ipfrs-storage
├── traits/ # BlockStore trait definition
├── backends/ # Backend implementations (Sled, ParityDB)
├── cache/ # In-memory LRU cache layer
└── versioning/ # Gradient tracking & version control
use ipfrs_storage::{BlockStore, SledBackend};
use ipfrs_core::{Block, Cid};
// Initialize storage
let store = SledBackend::open("/path/to/datastore")?;
// Put block
let block = Block::new(data);
store.put(&block).await?;
// Get block by CID
let retrieved = store.get(&cid).await?;
// Check existence (fast bloom filter)
if store.has(&cid).await? {
// ...
}
sled - Default embedded databaseparity-db - Optional high-performance backendlru - LRU cache implementationtokio - Async runtime