Skip to content

Galaxy0.3.0

Latest

Choose a tag to compare

@murphsicles murphsicles released this 27 Aug 12:17
00c4706

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 dotenv for 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_status from 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_peers with 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

Full Changelog: v0.2.3...v0.3.0