| Crates.io | analyze |
| lib.rs | analyze |
| version | 0.0.1 |
| created_at | 2025-12-16 17:39:56.334415+00 |
| updated_at | 2025-12-16 17:39:56.334415+00 |
| description | Montana Compression Analyzer Binary |
| homepage | https://github.com/base/montana |
| repository | https://github.com/base/montana |
| max_upload_size | |
| id | 1988337 |
| size | 1,327,421 |
The Montana compression analyzer binary.
A modular and extensible duplex pipeline for L2 batch submission and derivation. This binary compares compression algorithms (Brotli, Zstd, Zlib) for L2 batch data and outputs performance metrics.
analyze [OPTIONS]
None - all flags have sensible defaults.
-v, --verbose: Verbosity level (can be specified multiple times: -v, -vv, -vvv)
-v (1): INFO level logging-vv (2): DEBUG level logging-vvv (3+): TRACE level logging-m, --mode <MODE>: Operation mode (default: batch)
batch: Batch submission mode - compress and submit L2 blocksderivation: Derivation mode - decompress and derive L2 blocks from compressed batchesroundtrip: Roundtrip mode - batch submission followed by derivation with validation-i, --input <PATH>: Input JSON file containing transactions to batch submit (default: static/base_mainnet_blocks.json)-o, --output <PATH>: Output JSON file for the submitted batch (default: output.json)-c, --compression <ALGORITHM>: Compression algorithm to use (default: brotli)
brotli: Brotli compressionzlib: Zlib (DEFLATE) compressionzstd: Zstandard compressionall: Run all compression algorithms and compare results (uses best algorithm for submission)Compresses L2 block data and simulates batch submission.
Workflow:
Example:
# Use default brotli compression
analyze --mode batch --input static/base_mainnet_blocks.json --output output.json
# Compare all compression algorithms
analyze --mode batch --compression all
# Use zstd compression with verbose output
analyze -vv --mode batch --compression zstd
Decompresses batches from output file (created by batch mode).
Workflow:
Example:
# Decompress batches using brotli
analyze --mode derivation --compression brotli --output output.json
# Decompress with debug logging
analyze -vvv --mode derivation --compression zstd
Note: The compression algorithm must match what was used during batch mode.
Performs batch submission followed by derivation with data integrity validation.
Workflow:
Example:
# Validate roundtrip with brotli
analyze --mode roundtrip --compression brotli
# Validate with all algorithms (tests each separately)
analyze --mode roundtrip --compression zstd -v
Note: Roundtrip mode does not support --compression all.
# Basic usage with defaults (batch mode, brotli compression)
analyze
# Batch mode with all algorithms comparison
analyze --mode batch --compression all -v
# Derivation mode to decompress existing output
analyze --mode derivation --output output.json --compression brotli
# Roundtrip validation with verbose logging
analyze --mode roundtrip --compression zstd -vv
# Custom input/output paths
analyze --input /path/to/blocks.json --output /path/to/output.json
# Maximum verbosity for debugging
analyze -vvv --mode batch --compression all
The output JSON file contains:
RUST_LOG: Controls logging output (overrides verbosity flags if set)
RUST_LOG=debug analyze0: Success1: Pipeline failure (error logged to stderr)