Skip to content

stratum-mining/stratum


SRI
SV2 Libraries

Stratum V2 protocol libraries from the SRI project πŸ¦€

codecov X (formerly Twitter) Follow

Stratum Repository

This repository contains the low-level crates. If you’re looking to run Sv2 applications at the most recent changes, check out the sv2-apps repository. Those crates are application-level, currently in alpha stage.

Contents

  • sv1/ - Stratum V1 protocol implementation and utilities
  • sv2/ - Stratum V2 protocol implementations
    • binary-sv2/ - Binary encoding/decoding for SV2 messages
    • buffer/ - Buffer management and pooling
    • channels-sv2/ - Channel management for SV2
    • codec-sv2/ - SV2 message codec with encryption support
    • framing-sv2/ - SV2 message framing utilities
    • handlers_sv2/ - SV2 message handler traits
    • noise-sv2/ - Noise protocol implementation for SV2
    • parsers-sv2/ - Message parsing utilities
    • subprotocols/ - SV2 subprotocol implementations
  • stratum-core/ - Entrypoint for all the low-level crates in sv2/ and sv1/implementations
    • stratum-translation - Stratum V1 ↔ Stratum V2 translation utilities

Local Integration Testing

To run integration tests locally:

./scripts/run-integration-tests.sh

This will:

  1. Clone/update the integration test framework
  2. Update dependencies to use your local changes
  3. Run the full integration test suite
  4. Restore the original configuration

πŸ›£ Roadmap

Our roadmap is publicly available as part of the broader SRI project, outlining current and future plans. Decisions are made through a consensus-driven approach via dev meetings, Discord, and GitHub.

View the SRI Roadmap

πŸ’» Contribute

We welcome contributions to improve these SV2 libraries! Here's how you can help:

  1. Start small: Check the good first issue label in the main SRI repository
  2. Join the community: Connect with us on Discord before starting larger contributions
  3. Open issues: Create GitHub issues for bugs, feature requests, or questions
  4. Follow standards: Ensure code follows Rust best practices and includes appropriate tests

🀝 Support

Join our Discord community for technical support, discussions, and collaboration:

Join the Stratum V2 Discord Community

For detailed documentation and guides, visit: Stratum V2 Documentation

🎁 Donate

πŸ‘€ Individual Donations

If you wish to support the development and maintenance of the Stratum V2 Reference Implementation, individual donations are greatly appreciated. You can donate through OpenSats, a 501(c)(3) public charity dedicated to supporting open-source Bitcoin projects.

Donate through OpenSats

🏒 Corporate Donations

For corporate entities interested in providing more substantial support, such as grants to SRI contributors, please get in touch with us directly. Your support can make a significant difference in accelerating development, research, and innovation.

πŸ™ Supporters

SRI contributors are independently, financially supported by following entities:

πŸ“– License

This software is licensed under Apache 2.0 or MIT, at your option.

πŸ¦€ MSRV

Minimum Supported Rust Version: 1.75.0


Website stratumprotocol.org Β Β·Β  Discord SV2 Discord Β Β·Β  Twitter @Stratumv2 Β Β·Β 

About

Stratum V2 protocol libraries

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE.md
Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Packages

No packages published