Before you start
Download kaspad
Get the official build from the Rusty Kaspa releases page.
- Open the releases page and take the newest release, marked Latest.
- Under Assets, download the .zip for Windows.
- Right-click it, choose Extract All, and leave the folder it makes in Downloads. kaspad.exe is inside.
Install it
Give kaspad a permanent home and add it to your PATH, so it runs from anywhere.
In PowerShell as administrator (right-click Start, Terminal (Admin)):
New-Item -ItemType Directory -Force -Path "C:\Program Files\Kaspad"
Get-ChildItem "$env:USERPROFILE\Downloads\rusty-kaspa-*-win64" -Recurse -Filter kaspad.exe |
Move-Item -Destination "C:\Program Files\Kaspad\"Add it to the PATH:
$old = [Environment]::GetEnvironmentVariable('Path', 'Machine')
[Environment]::SetEnvironmentVariable('Path', $old + ';C:\Program Files\Kaspad', 'Machine')Or by hand: press Win+R, type sysdm.cpl, then Advanced, Environment Variables, Path under System variables, Edit, New, and add C:\Program Files\Kaspad. Close and reopen PowerShell, then check:
kaspad --version- kaspad --version prints a version from any folder
Run it once
Start it by hand first. Problems are much easier to see here than once it runs in the background.
kaspad --utxoindex --appdir=C:\ProgramData\KaspadIf Windows Firewall asks, choose Allow access for private and public networks.
- --utxoindex
- Keeps an index for balance lookups (recommended)
- --appdir
- Keeps the chain in C:\ProgramData\Kaspad
- kaspad starting, with its version
- Peers connecting, 8 or more of them
- Headers, then blocks, downloading
Ctrl+C stops it. Next time it carries on syncing where it stopped.
Keep it running
The simplest way is a file you double-click. For a machine that stays on, run it as a Windows service instead.
Save this in Notepad as start-kaspad.bat, and double-click it to start the node:
@echo off
echo Starting the Kaspa node. Press Ctrl+C to stop.
kaspad --utxoindex --appdir=C:\ProgramData\Kaspad --logdir=C:\ProgramData\Kaspad\logs --rpclisten=127.0.0.1:16110
pauseAs a service: download NSSM from nssm.cc, copy nssm.exe from its win64 folder to C:\Windows\System32, then in PowerShell as administrator:
nssm install Kaspad "C:\Program Files\Kaspad\kaspad.exe" --utxoindex --appdir=C:\ProgramData\Kaspad --logdir=C:\ProgramData\Kaspad\logs
nssm set Kaspad Start SERVICE_AUTO_START
nssm start Kaspad
nssm status Kaspad- nssm status Kaspad says SERVICE_RUNNING
Day-to-day commands
Everything you'll need once it is running.
- Follow the log
Get-ChildItem C:\ProgramData\Kaspad\logs -Recurse -File | Sort-Object LastWriteTime | Select-Object -Last 1 | Get-Content -Tail 50 -Wait- Stop, start, restart
nssm stop Kaspad nssm start Kaspad nssm restart Kaspad- Remove the service
nssm remove Kaspad confirm
Make it public
Optional, and the most useful thing you can do: a public node helps new nodes join and sync. On a hosted server, opening the firewall is usually enough.
Allow the port in Windows Firewall, in PowerShell as administrator:
netsh advfirewall firewall add rule name="Kaspa Node" dir=in action=allow protocol=TCP localport=16111At home, kaspad asks your router to open the port by itself (UPnP), which many routers allow. If it doesn't become public, forward the port by hand:
- Find this machine's local address:
ipconfig, the IPv4 Address. - Open your router's admin page, usually at 192.168.1.1 or 192.168.0.1.
- Forward external TCP port 16111 to that address, port 16111.
Router menus differ. portforward.com has steps for most models.
- The log shows inbound peers
- It appears on KasNodes after the next crawl
Troubleshooting
The usual problems and what fixes them.
'kaspad' is not recognized
It isn't on the PATH yet. Reopen PowerShell after changing the PATH, or use the full path: "C:\Program Files\Kaspad\kaspad.exe".
The NSSM service won't start
Check the path with nssm edit Kaspad, unblock kaspad.exe (right-click, Properties, Unblock), look in Event Viewer, and try running kaspad by hand to see the error.
My antivirus blocks kaspad
Add C:\Program Files\Kaspad\kaspad.exe to its exclusions. In Windows Security: Virus & threat protection, Manage settings, Exclusions.
Port 16110 or 16111 is already in use
Find what has it with netstat -ano | findstr 16111; the last number is the process ID to look up in Task Manager. Close it, or move kaspad with --listen and --rpclisten.
It shows 0 peers
It can't reach the network. Check the connection and that nothing blocks outbound traffic, check the log for errors, and restart it.
The disk is filling up
Check what kaspad uses, free some space, or move the data folder to a larger disk by changing --appdir. Keep 640 GB free for it; 1 TB is better.
It isn't public after opening the port
Check the firewall rule and the router rule are both TCP 16111 and point at the right machine. Some hosts and home providers put you behind their own NAT, which blocks inbound connections.
Running? Put your name on it.
Once the node shows up in a crawl you can claim it, pick a public name and follow its rank.