Skip to content

Validator Service Status

Overall Status: 100% MVD COMPLETE ✅ Location: src/Services/Sorcha.Validator.Service/Last Updated: 2026-03-01


Summary

ComponentStatusLOCTests
Core Library (Sorcha.Validator.Core)✅ 90%~600~90% coverage
Service Implementation✅ 95%~1,800~75% coverage
REST API Endpoints✅ 100%~400Comprehensive
gRPC Peer Communication✅ 100%~290Included
.NET Aspire Integration✅ 100%N/AConfigured
Duplicate Detection✅ 100%~150Redis set index
TOTAL✅ 100% MVD~3,24016 test files

Core Implementation - 100% MVD COMPLETE ✅

Validator Service Architecture

  • REST API validation endpoints (transaction submission, memory pool stats)
  • gRPC peer communication (RequestVote, ValidateDocket, GetHealthStatus)
  • Admin control endpoints (start/stop validators, status queries, manual processing)
  • Background services (memory pool cleanup, automatic docket building)

Domain Models

  • ✅ Docket.cs - Blockchain block with consensus votes
  • ✅ Transaction.cs - Validated action execution records
  • ✅ ConsensusVote.cs - Validator votes (approve/reject)
  • ✅ Signature.cs - Cryptographic signatures
  • ✅ Enums: DocketStatus, VoteDecision, TransactionPriority

Core Services

  1. ValidatorOrchestrator.cs (200+ lines)

    • ✅ StartValidatorAsync, StopValidatorAsync
    • ✅ GetValidatorStatusAsync
    • ✅ ProcessValidationPipelineAsync
    • ✅ Per-register validator state tracking
  2. DocketBuilder.cs (250+ lines)

    • ✅ BuildDocketAsync - Assembles transactions
    • ✅ Genesis docket creation
    • ✅ Merkle tree computation
    • ✅ SHA-256 docket hashing with previous hash linkage
    • ✅ Wallet Service integration for signatures
  3. ConsensusEngine.cs (300+ lines)

    • ✅ AchieveConsensusAsync - Distributed consensus
    • ✅ Parallel gRPC vote collection
    • ✅ Quorum-based voting (>50% threshold)
    • ✅ Timeout handling with graceful degradation
    • ✅ ValidateAndVoteAsync
  4. MemPoolManager.cs (350+ lines)

    • ✅ FIFO + priority queues (High/Normal/Low)
    • ✅ Per-register isolation with capacity limits
    • ✅ Automatic eviction
    • ✅ High-priority quota protection (20%)
    • ✅ Thread-safe ConcurrentDictionary
  5. GenesisManager.cs (150+ lines)

    • ✅ CreateGenesisDocketAsync
    • ✅ NeedsGenesisDocketAsync
    • ✅ Special genesis validation rules

Background Services

  • MemPoolCleanupService - Expired transaction removal (60s interval)
  • DocketBuildTriggerService - Automatic docket building (time OR size triggers)

gRPC Service Implementation

ValidatorGrpcService.cs (290 lines):

  • RequestVote(VoteRequest) - Validates and returns signed votes
  • ValidateDocket(DocketValidationRequest) - Validates confirmed dockets
  • GetHealthStatus(Empty) - Reports validator health
  • ✅ Protobuf message mapping

Configuration

  • ✅ ValidatorConfiguration (validator ID, wallet address)
  • ✅ ConsensusConfiguration (threshold, timeout, minimum validators)
  • ✅ MemPoolConfiguration (max size, priority quota, expiration)
  • ✅ DocketBuildConfiguration (max transactions, triggers)

Core Library - 90% COMPLETE ✅

Sorcha.Validator.Core (Enclave-Safe, Pure Validation Logic)

  1. DocketValidator.cs (200+ lines)

    • ✅ ValidateDocketStructure
    • ✅ ValidateDocketHash
    • ✅ ValidateChainLinkage
    • Pure, stateless, deterministic functions
  2. TransactionValidator.cs (250+ lines)

    • ✅ ValidateTransactionStructure
    • ✅ ValidatePayloadHash
    • ✅ ValidateSignatures
    • ✅ ValidateExpiration
  3. ConsensusValidator.cs (100+ lines)

    • ✅ ValidateConsensusVote
    • ✅ ValidateQuorumThreshold
    • Pure consensus logic (thread-safe)

Characteristics:

  • ✅ No I/O operations
  • ✅ No network calls
  • ✅ Thread-safe (parallel execution)
  • ✅ Deterministic
  • ✅ Enclave-compatible (Intel SGX, AMD SEV, HSM ready)

REST API Endpoints - 100% COMPLETE ✅

Validation Endpoints (/api/v1/transactions)

EndpointDescription
POST /validateValidates transaction and adds to memory pool
GET /mempool/{registerId}Gets memory pool statistics

Admin Endpoints (/api/admin)

EndpointDescription
POST /validators/startStarts validator for a register
POST /validators/stopStops validator
GET /validators/{registerId}/statusGets validator status
POST /validators/{registerId}/processManual pipeline execution

OpenAPI Documentation

  • ✅ Scalar UI at /scalar/v1
  • ✅ All endpoints documented
  • ✅ Request/response examples included

Testing - 80% COMPLETE ✅

Unit Tests (Sorcha.Validator.Core.Tests)

  • ✅ DocketValidatorTests.cs
  • ✅ TransactionValidatorTests.cs
  • ✅ ConsensusValidatorTests.cs
  • ✅ Coverage: ~90% for core library

Integration Tests (Sorcha.Validator.Service.Tests)

  • ✅ Validator orchestrator lifecycle
  • ✅ Docket building workflow
  • ✅ Consensus engine vote collection
  • ✅ Memory pool management
  • ✅ Admin endpoint integration
  • ✅ Coverage: ~75% for service layer

Total: 16 test files, ~80% overall coverage


.NET Aspire Integration - 100% COMPLETE ✅

  • ✅ Service registered in Sorcha.AppHost
  • ✅ Redis reference for distributed caching
  • ✅ Environment variable configuration
  • ✅ API Gateway route integration
  • ✅ OpenTelemetry metrics and tracing
  • ✅ Health checks (/health, /alive)

Completed Features

  1. ✅ Memory pool management with FIFO + priority queues
  2. ✅ Docket building with hybrid triggers
  3. ✅ Distributed consensus with quorum-based voting
  4. ✅ Full validator orchestration pipeline
  5. ✅ gRPC peer communication
  6. ✅ Admin REST API for validator control
  7. ✅ Background services for cleanup and auto-building
  8. ✅ Genesis docket creation for new registers
  9. ✅ Enclave-safe core validation library
  10. ✅ Comprehensive test coverage (80%)

Completed (Phase E - 2026-03-01)

  1. ✅ JWT authentication and authorization
  2. ✅ Duplicate detection cross-check (Redis set index)
  3. ✅ Enhanced observability (custom metrics)
  4. ✅ Persistent memory pool state (Redis)

Deferred (Post-MVD)

  1. Fork detection and chain recovery
  2. Production enclave support (Intel SGX, AMD SEV)
  3. Decentralized consensus (multi-validator network)

Git Evidence:

  • Commit 5972f17: validator
  • Commit 2046786: feat: Complete Validator Service orchestration and admin endpoints

Back to: Development Status

Released under the MIT License.