Skip to main content

Validator Overview

The Harmonic Salsa validator is a fork of the Solana validator client, optimized for the Harmonic network. It is responsible for validating transactions, producing blocks, and maintaining consensus across the network.

What is a Validator?

A validator is a node that participates in the Harmonic network by:
  • Validating Transactions: Verifying that transactions are legitimate and conform to network rules
  • Producing Blocks: Creating new blocks when selected as a leader
  • Maintaining Consensus: Voting on blocks to reach agreement on the state of the blockchain
  • Storing Ledger Data: Keeping a copy of the blockchain history
  • Serving RPC Requests: Providing API access to network data (optional)

Key Responsibilities

Consensus Participation

Validators participate in Proof of Stake consensus by:
  • Casting votes on blocks they believe are valid
  • Building on the most recent confirmed block
  • Following the tower Byzantine Fault Tolerance (BFT) algorithm
  • Maintaining a vote account that tracks their voting history

Transaction Processing

Validators process transactions through several stages:
  1. TPU (Transaction Processing Unit): Receives incoming transactions
  2. Banking Stage: Validates and executes transactions
  3. PoH (Proof of History): Orders transactions with cryptographic timestamps
  4. Block Production: Packages transactions into blocks when acting as leader

Block Validation

When not producing blocks, validators:
  • Receive blocks from the current leader
  • Verify block signatures and transaction validity
  • Execute transactions to update local state
  • Vote on blocks they successfully process

Network Services

  • Gossip: Share information about the network topology and validator status
  • Repair: Request missing blocks from other validators
  • Serve Repair: Respond to repair requests from other validators
  • RPC (optional): Serve JSON-RPC requests from clients and applications

Validator Requirements

Hardware Requirements

Minimum recommended specifications:
  • CPU: 12+ cores @ 2.8GHz or faster
  • RAM: 128GB or more
  • Storage: PCIe Gen3 x4 NVME SSD or better (500GB+)
  • Network: 1 Gbps symmetric internet connection

Software Requirements

  • Linux (Ubuntu 20.04+ recommended)
  • Rust toolchain (automatically managed via rust-toolchain.toml)
  • System dependencies (see Quick Start)

Validator Types

Full Validator

Runs all services including consensus voting, block production, and optionally RPC.

RPC Node

Configured with --no-voting to serve RPC requests without participating in consensus. Useful for:
  • Application backends
  • Block explorers
  • High-throughput RPC services

Restricted Repair-Only Node

Runs with --restricted-repair-only-mode to sync the ledger without exposing network services.

Architecture Overview

The validator consists of several key components:
  • Core: Main validator logic and consensus
  • Gossip: Peer-to-peer communication layer
  • Blockstore: On-disk ledger storage using RocksDB
  • Accounts Database: State storage for all accounts
  • Banking Stage: Transaction processing pipeline
  • PoH Service: Proof of History generator
  • RPC Service: JSON-RPC API server (optional)
  • Geyser Plugins: Extensible plugin system for streaming account updates

Harmonic-Specific Features

Harmonic Salsa includes additional features from Jito:
  • Block Engine Integration: Connect to block engines for optimized block production
  • Relayer Support: Integrate with relayer services for transaction forwarding
  • Bundle Processing: Support for transaction bundles
  • Enhanced Metrics: Additional monitoring and performance metrics

Next Steps

Setup Guide

Learn how to set up and configure your validator

Operations

Day-to-day validator operations and management

Configuration

Detailed configuration options and tuning

Monitoring

Monitor your validator’s health and performance

Build docs developers (and LLMs) love