blockchain_compression/lib.rs
1//! # blockchain-compression
2//!
3//! A high-performance compression library optimized for blockchain data structures.
4//!
5//! This library provides specialized compression algorithms that understand the patterns
6//! and structures common in blockchain data, achieving significantly better compression
7//! ratios than general-purpose algorithms.
8//!
9//! ## Features
10//!
11//! - **Pattern Recognition**: Automatically detects and compresses blockchain-specific patterns
12//! - **Multi-Algorithm Support**: Multiple compression backends (DEFLATE, LZ4, Zstd)
13//! - **Blockchain Presets**: Pre-configured for different blockchain ecosystems
14//! - **High Performance**: Optimized for throughput and compression ratio
15//! - **Composable**: Trait-based architecture allows for custom compression strategies
16//!
17//! ## Quick Start
18//!
19//! ```rust,no_run
20//! use blockchain_compression::presets::solana::{SolanaCompressor, SolanaPreset};
21//! use blockchain_compression::core::traits::CompressionStrategy;
22//!
23//! let mut compressor = SolanaCompressor::new(SolanaPreset::Transactions);
24//! # let data = b"test";
25//! let compressed = compressor.compress(data).unwrap();
26//! let decompressed = compressor.decompress(&compressed).unwrap();
27//! ```
28
29pub mod core;
30pub mod presets;
31pub mod algorithms;
32
33// Re-export commonly used items
34pub use core::traits::{CompressionStrategy, CompressionError, CompressionStats, CompressionMetadata};
35pub use algorithms::{EnhancedCTW, MultiPassCompressor, PracticalMaxCompression};
36
37// Re-export blockchain presets when available
38pub use presets::solana::SolanaCompressor;