#decentralized #p2p #privacy #messaging

firecloud-storage

Chunking, compression, and local storage for FireCloud distributed storage

2 unstable releases

0.2.0 Jan 30, 2026
0.1.0 Jan 29, 2026

#107 in #decentralized


Used in firecloud-cli

MIT/Apache

74KB
1.5K SLoC

firecloud-storage

Chunking, compression, and local storage for the FireCloud distributed storage system.

Overview

Handles file chunking, compression, and persistent storage:

  • Content-defined chunking: FastCDC algorithm for deduplication
  • Compression: Zstd and LZ4 support
  • Storage: Embedded Sled database
  • Manifests: File metadata and chunk tracking

Usage

use firecloud_storage::{ChunkStore, Chunker, CompressionType};

// Open storage
let store = ChunkStore::open("./data")?;

// Chunk and store a file
let chunker = Chunker::new(file_data, CompressionType::Zstd);
for chunk in chunker {
    store.put_chunk(&chunk)?;
}

Features

  • FastCDC: Content-defined chunking for optimal deduplication
  • Multiple compression algorithms: Zstd (default) and LZ4
  • Embedded database: No external dependencies with Sled
  • Async support: Built on Tokio

Performance

  • Chunk sizes: 256KB average, 64KB-1MB range
  • Compression: ~60% reduction with Zstd
  • Deduplication: Automatic with content-defined chunking

License

Licensed under either of:

at your option.

Dependencies

~17–22MB
~327K SLoC