This is a test repository for the SV2 core protocols architecture.
sv1/
- Stratum V1 protocol implementation and utilitiessv2/
- Stratum V2 protocol implementationsbinary-sv2/
- Binary encoding/decoding for SV2 messagescodec-sv2/
- SV2 message codec with encryption supportframing-sv2/
- SV2 message framing utilitiesnoise-sv2/
- Noise protocol implementation for SV2subprotocols/
- SV2 subprotocol implementationschannels-sv2/
- Channel management for SV2roles-logic-sv2/
- Common logic for SV2 rolesparsers-sv2/
- Message parsing utilitiessv2-ffi/
- Foreign Function Interface for SV2
roles-utils/
- Utilities for SV2 role implementationsrpc/
- RPC client/server utilities for job declarationconfig-helpers/
- Configuration file management helpersnetwork-helpers/
- Networking utilities for SV2 roles
common/
- Shared utilities and common codeutils/
- General utility cratesbuffer/
- Buffer management and poolingerror-handling/
- Error handling utilitieskey-utils/
- Cryptographic key utilitiesbip32-key-derivation/
- BIP32 key derivation implementation
The roles-utils/
directory contains shared utilities that are used across multiple SV2 role implementations:
-
RPC (
rpc/
): Provides HTTP RPC client functionality for communicating with job declaration servers, including JSON-RPC support and transaction handling. -
Config Helpers (
config-helpers/
): Utilities for parsing and managing Stratum V2 configuration files, including support for miniscript and various configuration formats. -
Network Helpers (
network-helpers/
): Low-level networking utilities for SV2 roles, including connection management for both encrypted (Noise) and plain connections, as well as SV1 compatibility.
These utilities are designed to be consumed by multiple repositories in the Stratum ecosystem, providing a centralized location for common role functionality.
To run integration tests locally:
./scripts/run-integration-tests.sh
This will:
- Clone/update the integration test framework
- Update dependencies to use your local changes
- Run the full integration test suite
- Restore the original configuration
This repository automatically runs integration tests on every PR using the reusable workflow from the sv2-integration-test-framework
repository.