Skip to main content
This guide will help you quickly set up and run Harmonic Salsa validator on your local machine.

Prerequisites

Before you begin, ensure you have:
  • Operating System: Linux or macOS
  • Rust: Latest stable version (installed via rustup)
  • Git: For cloning the repository
  • System Dependencies: Build tools and libraries (see below)
Windows is not officially supported. We recommend using WSL2 (Windows Subsystem for Linux) for Windows users.

Installation Steps

1

Install Rust toolchain

Install Rust, cargo, and rustfmt using the official installer:
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
rustup component add rustfmt
The rust-toolchain.toml file in the repository pins a specific Rust version and ensures cargo commands run with that version. Cargo will automatically install the correct version if it is not already installed.
2

Install system dependencies

Install required system libraries:
sudo apt-get update
sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler libclang-dev
3

Clone the repository

Clone Harmonic Salsa from GitHub:
git clone https://github.com/harmonic/salsa.git
cd salsa
4

Build the project

Build the validator and CLI tools:
./cargo build
This builds a debug version that is not suitable for running a testnet or mainnet validator. For production use, see the Installation guide for instructions on building a release version.
The build process may take 10-30 minutes depending on your system.
5

Run the test validator

Start a local test validator for development:
./target/debug/solana-test-validator
The test validator will start a single-node cluster on your local machine, listening on http://localhost:8899 by default.

Verify Installation

Once the test validator is running, verify it’s working correctly:
# In a new terminal window
./target/debug/solana cluster-version
You should see output showing the cluster version, confirming your validator is running.

Basic CLI Usage

Check Cluster Status

# Get cluster information
./target/debug/solana cluster-version

# Check validator slots
./target/debug/solana slot

Create a Wallet

# Generate a new keypair
./target/debug/solana-keygen new

# Check your balance
./target/debug/solana balance

Request Airdrop (Test Validator Only)

# Request test SOL tokens
./target/debug/solana airdrop 10

Running Tests

Run the test suite to verify everything is working correctly:
./cargo test
The full test suite can take significant time to complete. You can run specific test packages if needed.

Connecting to Public Clusters

Connect to Solana’s public development cluster:
# Configure CLI to use devnet
./target/debug/solana config set --url devnet.solana.com

# Verify connection
./target/debug/solana cluster-version
Available clusters:
  • Devnet: devnet.solana.com - Stable public cluster for development, runs 24/7
  • Testnet: testnet.solana.com - Testing cluster for validators
  • Mainnet Beta: api.mainnet-beta.solana.com - Production cluster

Next Steps

Installation Guide

Learn how to build optimized release versions for production

Validator Setup

Configure and run a production validator

CLI Tools

Explore all available command-line tools

Architecture

Understand the validator architecture

Build docs developers (and LLMs) love