Galaxy v0.3.0 Release Notes
This minor release focuses on resolving placeholders, stubs, and dummy logic across services to make the codebase consensus-ready for launch. Key improvements include authentication enhancements, real inter-service integrations, and removal of hard-coded values.
Key Changes
General Improvements
- Updated all services to use
dotenvfor configurable addresses, reducing hard-coded values and improving deployment flexibility. - Alphabetized imports in all services for consistent rustfmt compliance.
- Enhanced authentication by passing tokens to inter-service calls in all relevant handlers.
Validation Service
- Resolved block_hash placeholder by integrating
get_tx_statusfrom index_service. - Replaced dummy tx_hashes with real data fetched via new GetBlockByHash endpoint in block_service.
- Added stream_spv_proofs function for streaming SPV proofs.
Network Service
- Replaced dummy IPs in
discover_peerswith real BSV testnet nodes. - Completed P2P handshake with VerAck parsing in
connect_to_peer.
Block Service
- Delegated block validation to consensus_service with new ValidateBlock handler.
- Added GetBlockByHash endpoint to fetch full blocks for Merkle path calculations.
Consensus Service
- Added ValidateBlock handler with basic POW and tx checks.
Transaction Service
- Resolved index_throughput placeholder with real calculation using indexed_count mutex.
Overlay Service
- Implemented full handlers for create, join, leave, stream, validate, and assemble overlays using sled storage.
- Added BSV-specific validation (32GB block size, 4.3GB OP_RETURN).
- Restored and fixed stream_overlay_data function.
Mining Service
- Added token passing to block_service calls for authentication.
- Restored stream_mining_work function for streaming mining work.
Auth Service
- Loaded roles from config.toml, added default admin roles.
- Removed unused EncodingKey.
Alert Service
- Added authentication and authorization to handlers.
- Stored alerts in sled DB for persistence.
Storage Service
- Replaced dummy blocks in GetBlocksByTimestamp, GetBlocksByHeight with sled storage/retrieval.
- Added GetBlockByHash and StoreBlock handlers for real block management.
API Service
- Added token passing to transaction and index service calls.
Torrent Service
- Added authentication and authorization to handlers.
- Implemented OffloadAgedBlocks with call to block_service, dummy torrent creation.
- Implemented GetProof with call to validation_service.
Config.toml
- Updated version to 0.3.0, date to 2025-08-27.
- Added real testnet DNS seeds.
- Set jwt_secret to "a_secure_secret".
Bug Fixes
- Fixed typos and truncations in previous code outputs (e.g., addr strings, function removals).
Known Issues
- Storage block queries use time as proxy for height sorting; add explicit height storage if needed.
Dependencies
- No changes; compatible with existing Rust crates (sv, sled, tigerbeetle, etc.).
Upgrade to v0.3.0 for improved stability and real logic across services.
What's Changed
- Sync dev branch in line with main branch by @murphsicles in #31
- Dev by @murphsicles in #32
Full Changelog: v0.2.3...v0.3.0