Recommended Posts

SPS Validator Node: Setup Guide for Dummies on Windows

5 comments

hanv76.723 months agoPeakD5 min read

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

https://files.peakd.com/file/peakd-hive/hanv/242rEXGWYBzYuCj8rDv8vudhYYXwe2aDSGSqcxcPpBZ1j6tDBwMdVkgYBU4H5ajtwUcm9.jpg



run
wsl --install
https://files.peakd.com/file/peakd-hive/hanv/23zGRqKQypvfQkaEwkXZFe7Mvf49nHbEGfuGH7uX4US5rvcvj6tsLbe21ZibA7ZnAbdct.jpg



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/

https://files.peakd.com/file/peakd-hive/hanv/EokUQdaHgbkcW2RtvmYG4D4yJUJqLAeNQVFuK5h8mRfyoAKyCP3B3wWXSVqmU7FZCB6.jpg



During installation, ensure the "Use WSL 2 instead of Hyper-V" option is selected
https://files.peakd.com/file/peakd-hive/hanv/23tHdQDGmi3ebiey1UfV9ZnkMPEXaX6WaB8qUBuCmHqvPvqhwzzwNU1n6opg3r3egupck.jpg


After installation, open Docker Desktop , Click Skip so you don’t have sign up docker account

https://files.peakd.com/file/peakd-hive/hanv/23tSxMY5d4s639nzkhzQxPznhDbMnwRmsXBs4oSvu3mu1oBDsqRTzT7moowVChtvTgpP1.png

and go to Settings > Resources > WSL Integration
Enable integration with your installed WSL distro - Ubuntu

https://files.peakd.com/file/peakd-hive/hanv/23tSvBskM2GpFBjc5cAgY4nuuFdfmuxkvRcYeyErugenWRhdBh25BiNRUWPUfByeJLrZP.jpg


Setting Up the Validator

Open your WSL terminal
Search for "Ubuntu" in the Start menu and click Ubuntu or run wsl in PowerShell

https://files.peakd.com/file/peakd-hive/hanv/23wqAQuyK6BAzyr2kJ29N9spqw94r9JmL8cD7vryvPeNqQq5u15MSGtK8ck7NUHut8GHr.jpg

https://files.peakd.com/file/peakd-hive/hanv/23wqCwXjKA6NYvGHk98NKHwBeRXeWW7MxAjSx7k4A2WKmZWTc9u5G5r7oCjt95KSic25r.jpg


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

https://files.peakd.com/file/peakd-hive/hanv/23t7572JChY1y6ANYwjZ3KB3KSELVmfwdiK3Jq1BB8aTe2XP2jS8fe5XuYZaXnSTvkKSh.png

run
cd SPS-Validator

https://files.peakd.com/file/peakd-hive/hanv/Eo43Mk9YRQr283bc6p79TqwhMuxxzqfHk81etnsErjNBKAMbaCNpTK7h6JB2GxtE77m.jpg


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

https://files.peakd.com/file/peakd-hive/hanv/23xUoeXPmqNzpkwGRFKVUDLsafXnyNfSMCFdNBg2zPNT2M3ySoAV4kY6y2VGFAYS5ob6g.jpg


run
cat ~/.ssh/id_ed25519.pub

drag & select the key and copy the key with ctrl+C

https://files.peakd.com/file/peakd-hive/hanv/23t752KFXCDbfWmaj4NvCoqPywdWfmdfYJRywVJBhUXMVoaH1nxtYRJtTTCfRR853iHUE.jpg

Sign up and log in github.com
After login github, go setting

https://files.peakd.com/file/peakd-hive/hanv/Eo6Rmo9uL3H6v6qp67ZRzb2E9q5XJp6GpLiNxjDzf6r4GraENM7R8igYnahJcURytxx.jpg

SSH and GPG keys → New SSH key

https://files.peakd.com/file/peakd-hive/hanv/23t8CSPYK3dxXqwgb3vnb6E4bUc2QQ6nSCNEVztJuc4tpHhTW6HxoebH99mU8Wmpvntfx.jpg

paste the key and add ssh key

https://files.peakd.com/file/peakd-hive/hanv/23tSym8hLcyuvWYpSFVW3Ev48ZusDeicEaUDdt4EBqFZJvqaYw4ueuAA6ryKpPJuztJD2.jpg

https://files.peakd.com/file/peakd-hive/hanv/23tHbKhJnXbbqLv2n5ogYQDyGZ18rPsJRymVJbJ7rM6jpfiSpsnHzQvu2A2DvqudPF3ps.jpg


run
git clone --branch vlatest --single-branch [email protected]:TheSPSDAO/SPS-Validator.git
yes

https://files.peakd.com/file/peakd-hive/hanv/Eo6BHwZ32m9Fz2j43Sn6QA37xBjcrWS1ApDKA1PWc9eaNPPmY4riUZ6YkKEcN723jGw.jpg

run
cd SPS-Validator

https://files.peakd.com/file/peakd-hive/hanv/Eo43Mk9YRQr283bc6p79TqwhMuxxzqfHk81etnsErjNBKAMbaCNpTK7h6JB2GxtE77m.jpg


'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 name
    • VALIDATOR_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.

https://files.peakd.com/file/peakd-hive/hanv/23t6zWb5L6feCpa14Zo9JWcK2zjph6wpxdu8N3en91NYjV3KmFi4gS7RtiHYkJNnPWA6t.jpg

https://files.peakd.com/file/peakd-hive/hanv/EoyHE7uGTWPcD1H6gF48L6RTmZ5mUh2GN6vdFz5WkFKva2rvsw3oQiKQ5Qtc89nJppw.jpg


save the updated .env file
ctrl + x → y → enter

https://files.peakd.com/file/peakd-hive/hanv/23xxyCbcSwCCFj3JGhL7c1NaEaEpJpN8xMm8ttAM1Rb3aAgknht9GuQUXJ5NG1w4AEFKq.jpg

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

https://files.peakd.com/file/peakd-hive/hanv/23wfojp1BKY8bX9utHprYNQFAMKwgdduZN2azFy38RV4VmaG4xoZBQLi48bfMjEwz3HvN.jpg

https://files.peakd.com/file/peakd-hive/hanv/23tbGsHS1eR3t3KCYihdz3XZkD61cicqsTFbXiokJEjimx4rvA1q9JJifSkWHZvN8ti4j.jpg

Start the validator

run
./run.sh start all

This starts both the validator and the management UI
This process may take some time

https://files.peakd.com/file/peakd-hive/hanv/23swiP3Tv4qZ1DpMYfFJLgWQxyUPXxFfdNiYMPTYXGqQSQhBaaFZJSqVQsHjE1S6t6Twe.jpg

You need to wait this number become 0 to start your node validate block

https://files.peakd.com/file/peakd-hive/hanv/23tGVGFwo9RqmD6ToGBPLDW53hV8yU8HueYcVbrJGzPQKarkPzVSTjxEwJ3hq6MCfaTyf.jpg



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 https://localhost:8888/
Go to the "Manage Validator Nodes" section

https://files.peakd.com/file/peakd-hive/hanv/23tHbKgySNfQTRwJYr4Yr4E1gEUBxjQJo9qSPdiTQbShFzZRcKArCZVNmdB1BRf2mkTzG.jpg

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

https://files.peakd.com/file/peakd-hive/hanv/23tRzfXraGCcvbXkNZWjvUYfwpBGZAv1rwKkAodkT268p6Bfy2Wxz7qoNWjYpnox2eTix.jpg

https://files.peakd.com/file/peakd-hive/hanv/23t7DiwnQZ9ef2aF18p8rBdvENoPGSotnEUNymarTrFJedPVPJwsNRgpLah89mMMMMoEU.jpg



Congrat! Now your validator node is running and you are getting License block reward! 🎉

Keeping the Node Running

To keep the node running continuously:

  1. Make sure your WSL instance stays running

    • WSL might shut down with some reason like a system restart
  2. 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

  3. 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
  4. 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

https://files.peakd.com/file/peakd-hive/hanv/Eo6BHx6i5cWpTyitvJ4QHP2UkxxtQarfRXZyNQdfaJoAdfJdmMoTXqeCHMeyCmgVvkd.jpg

  • 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!

Comments

Sort byBest