Kaspa Node Setup on Windows: A Complete Step‑by‑Step Guide
Compatible with testnets and mainnet.
Download and install git.
Download and install rust.
Open cmd terminal as admin and run ‘cd..’ then ‘cd..’ again or until you see just ‘C:\’. Then run ‘mkdir kaspa-testnet-12’:
Clone kaspad repo:
Testnet-12: clone the covpp branch of the kaspad repository:
git clone --branch covpp https://github.com/kaspanet/rusty-kaspa.git Mainnet:
git clone https://github.com/kaspanet/rusty-kaspa.git Download protoc.
Unzip protoc and put it in a folder in C:\ named ‘protoc’. (Be sure it looks like ‘C:\protoc\bin’ and not ‘C:\protoc-v-1.0\protoc\bin’)
Open cmd terminal as admin and run:
setx PATH “%PATH%;C:\protoc\bin”Close all cmd terminals and then re-open cmd terminal and run:
protoc --versionprotoc —version to ensure its ready to use
Install LLVM (includes libclang)
Download and install the LLVM-21.1.8-win64.exe.
During installation, make sure to check:
✔ Add LLVM to the system PATH for current user
Open CMD as admin and run:
setx LIBCLANG_PATH “C:\Program Files\LLVM\bin”Verify it got installed by closing all cmd terminals and open a new cmd terminal, then run:
clang --versionand:
echo %LIBCLANG_PATH%If both work, you’re good.
Build rusty-kaspa by opening cmd terminal and running:
cargo run --release --bin kaspad -- --testnet --netsuffix=12 --utxoindexOpen notepad and copy & paste:
@echo off
title Kaspa Testnet-12
echo Starting Kaspa Node...
C:\kaspa-testnet-12\rusty-kaspa\target\release\kaspad.exe ^
--utxoindex ^
--loglevel=info ^
--appdir=C:\KaspaTestData ^
--testnet ^
--netsuffix=12 ^
--disable-upnp ^
--rpclisten=0.0.0.0:16118 ^
--rpclisten-borsh=0.0.0.0:16119
pauseClick “Save as” and place it anywhere you want like the Desktop, and be sure to change it from “Text documents .txt” to “All files (*.*)”. Ensure the file name ends with “.bat”, I’ve named mine “start-testnet-12.bat”.
Double click the new .bat file and it should start the node
Notes on Flags
--utxoindex→ required for wallet interactions.--appdir=C:\KaspaTestData→ where chain data is stored.--disable-upnp→ avoids LAN device discovery.--rpclisten=0.0.0.0:16118→ JSON‑RPC endpoint (miners, CLI tools).--rpclisten-borsh=0.0.0.0:16119→ WebSocket/WRPC endpoint (wallets, browsers).