Hi!
I've created this guide for those who want to run a Validator node on a Windows PC without buying a server. If anything is unclear, doesn't work, or have any questions, feel free to leave a comment! I'll be happy to help.
Preparing
Type ‘powershell’ on windows search bar
Run ‘Windows PowerShell’ as administrator
run
wsl --install
This will install ubuntu by default
Restart your computer after installation
Install Docker Desktop
Download and install Docker Desktop from
https://docs.docker.com/desktop/setup/install/windows-install/
During installation, ensure the "Use WSL 2 instead of Hyper-V" option is selected
After installation, open Docker Desktop , Click Skip so you don’t have sign up docker account
and go to Settings > Resources > WSL Integration
Enable integration with your installed WSL distro - Ubuntu
Setting Up the Validator
Open your WSL terminal
Search for "Ubuntu" in the Start menu and click Ubuntu or run wsl
in PowerShell
Get node files
Option 1 (Recommended)
Copy and paste does not work. Be careful the typo and space!
run
bash -c "$(curl -s https://raw.githubusercontent.com/TheSPSDAO/SPS-Validator/refs/tags/vlatest/install.sh)"
You will be asked those questions
Do you want to use a production prefix or qa prefix?
-> type 1
Enter your the hive account name
-> type your hive account
Enter your the hive posting key
-> skip it for now We will put your posting key later. Just enter or type random word like 1111 for now
Do you want to turn on block pruning?
-> type y
Are you sure you want to destory?
-> type y
run
cd SPS-Validator
Option 2 (Skip this if you done with option 1)
run (change the mail with your actual email)
ssh-keygen -t ed25519 -C "[email protected]"
It asks three questions you can just enter three times for the questions.
→ enter → enter → enter
run
cat ~/.ssh/id_ed25519.pub
drag & select the key and copy the key with ctrl+C
Sign up and log in github.com
After login github, go setting
SSH and GPG keys → New SSH key
paste the key and add ssh key
run
git clone --branch vlatest --single-branch [email protected]:TheSPSDAO/SPS-Validator.git
yes
run
cd SPS-Validator
'Get node files' part option 1 or option 2 done!
Set up environment variables
Edit the configuration file
run
cp .env-example .env
Use a txt editor to modify the .env file:
run
nano .env
- Important settings to configure:
VALIDATOR_ACCOUNT
: Your Hive account nameVALIDATOR_KEY
: Your Hive posting key- If you just want license rewards, set
DB_BLOCK_RETENTION=432000
to keep your database size small if you’re not aiming Top Validators. Recommend for most people.
save the updated .env file
ctrl + x → y → enter
Build the validator
run
./run.sh build
- This will deploy the database, run migrations, and download/deploy the snapshot
- This process may take some time
Start the validator
run
./run.sh start all
This starts both the validator and the management UI
This process may take some time
You need to wait this number become 0 to start your node validate block
Congrat! Now your validator node is running!
Register Your Node
Once your node is fully synced (Blocks to head: 0),
Navigate to the management UI at http://localhost:8888/
Go to the "Manage Validator Nodes" section
You can skip API url, Post URL, Reward account
After registration and once your node synced the block (Blocks to head: 0), set your node to "active"
Stake Licenses for Rewards
To earn LICENSE rewards:
Go to https://splinterlands.com/dashboard/licenses
Click Activate and Stake Licenses
Congrat! Now your validator node is running and you are getting License block reward! 🎉
Keeping the Node Running
To keep the node running continuously:
Make sure your WSL instance stays running
- WSL might shut down with some reason like a system restart
After a Windows restart:
- Open WSL terminal
- Navigate to your SPS-Validator directory
- Check if the validator is running:
./run.sh logs
- If not running, start it again:
./run.sh start all
Set Windows to auto-start Docker Desktop
- This will ensure Docker is available after restarts
- Open Docker Desktop > Settings > General > Start Docker Desktop when you log in
Consider using a WSL startup script to auto-start the validator
- Create a startup script in your home directory:
echo '#!/bin/bash
cd ~/SPS-Validator
./run.sh start all' > ~/start-validator.sh
chmod +x ~/start-validator.sh
- Create a startup script in your home directory:
- Add this to your Windows startup by creating a .vbs script:
- open notepad app on windows -> paste this
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "wsl -d Ubuntu -e /bin/bash -c ~/start-validator.sh", 0, True
Save this as a .vbs file and place it in your Windows Startup folder (Win+R, then type shell:startup)
Common Commands for Management
./run.sh stop
: Stops all services./run.sh start
: Starts validator and database./run.sh start all
: Starts validator, database, and UI./run.sh logs
: Shows the validator logs./run.sh rebuild_service validator
: Rebuilds the validator to apply new environment variables./run.sh snapshot
: Creates a backup of your database
You just made the SPS chain stronger and more decentralized! 💪
If this helps, please consider voting for my node to support.
https://monstermarket.io/validators?validator=hanv
Thank you!
Thanks for this @hanv. I'm going to give this a go later in the week just to build up some knowledge, I'll let you know how I get on.
You can do it! It’ll be a good experience to set up and run a node while learning new things. Good luck! I’m curious to see how it turns out, so let me know the results. Thank you for your vote on my node! @abh12345 !! 🙏
Wow! This is all gibberish to me, but I would like to run my own node so that I'm not staking on anyone else. Here we go...
There might be some hurdles when you first start, but you'll succeed in the end! Good luck!