Skip to content
blockchain-compression cargo add →

// use case

Archive nodes

// Full history without a cost curve that tracks block height

A growing chain adds state forever, and archive-node operators pay to keep all of it online. Cold, write-once history is exactly what MaxCompression is for — the measured "up to 60:1 on archival workloads," and CPU cost you only pay once at write time.

preset: MaxCompression reported ratio: up to 60:1

// why it fits

  • State bloat is unbounded; write-once archival data tolerates level-19 CPU cost because you compress it a single time.
  • The Solana dictionary means repeated program IDs and Base58 addresses cost near-zero bytes.
  • Round-trip verification guarantees you can always reconstruct the exact original block.
  • No validator dependency — run it in a batch job over your archive, wherever it lives.

// example

use blockchain_compression::presets::solana::{
    SolanaCompressor, SolanaPreset,
};
use blockchain_compression::core::traits::CompressionStrategy;

let mut compressor = SolanaCompressor::new(
    SolanaPreset::MaxCompression,
);

let compressed   = compressor.compress(data)?;
let decompressed = compressor.decompress(&compressed)?;
assert_eq!(data, decompressed.as_slice());

See the quickstart for the full setup and the presets page for how ratios trade against CPU cost.