Skip to content

Contributing

Development Setup

git clone https://github.com/cryptuon/blockchain-compression.git
cd blockchain-compression
cargo build --features zstd
cargo test --features zstd

Running Tests

# All tests
cargo test --features zstd

# Integration tests only
cargo test --features zstd --test solana_integration_tests

# With output
cargo test --features zstd -- --nocapture

Running Examples

cargo run --example basic_usage --features zstd
cargo run --example performance_benchmark --features zstd

Running Benchmarks

cargo bench --features zstd

Code Style

  • Follow standard Rust conventions (rustfmt, clippy)
  • Run cargo clippy --features zstd before submitting

Pull Request Process

  1. Fork the repository
  2. Create a feature branch from main
  3. Add tests for new functionality
  4. Ensure all tests pass with cargo test --features zstd
  5. Run cargo clippy --features zstd and address warnings
  6. Submit a pull request with a clear description of the change

Documentation

If you change public API, update:

  • Rustdoc comments on the affected items
  • docs/API.md if the change affects documented types or traits
  • The mkdocs pages in documentation/docs/ if user-facing behavior changes

Building Documentation

# Rustdoc
cargo doc --features zstd --open

# mkdocs (requires mkdocs-material)
pip install mkdocs-material
cd documentation
mkdocs serve

License

By contributing, you agree that your contributions will be licensed under the MIT License.