
How to Run a Shardeum Validator Node with Contabo
Learn how to run a Shardeum validator node using a Contabo VPS in this step-by-step guide. Set up, stake, and start earning SHM rewards with minimal...
Shardeum Token Sale is Live! Get Early Access to SHM
Learn how to run a Shardeum validator node using a Contabo VPS in this step-by-step guide. Set up, stake, and start earning SHM rewards with minimal...
Running your own validator helps secure the Shardeum network—and earns you SHM rewards—without the need to buy or invest in expensive hardware. In this guide you’ll learn how to spin up a Shardeum validator node using Contabo—a cost-effective VPS hosting provider with global reach.
- Note, if you opt for VPS for running a node, your VPS will become your validator node once you install and run the software.
- Setup Time: Approximately 1 hour initially.
- Maintenance Time: 10–15 minutes periodically (e.g., checking updates, monitoring resource usage).
- Any attempt to exploit, manipulate, or neglect node operations (e.g., downtime, outdated versions) may result in eviction, forfeiture of staked SHM, and loss of eligibility for validator rewards.
Simply follow the steps and your validator will be up and running smoothly 🙂
Before setting up your validator, make sure you meet these hardware and staking requirements:
Whether you choose self-hosting or rent a VPS, your server must meet these requirements to avoid performance issues.
Note: You’ll also need the local built-in Terminal app in your macOS or Windows. You can alternatively download Termius (free SSH app for all systems).
Operating a validator also requires:
Which Contabo plan should you choose? Visit: https://contabo.com/en/vps/
We recommend Cloud VPS 8C option because it satisfies all the three specs:
📌 Best Practice:
Always prefer at least 6 vCPUs for better uptime, faster blockchain syncing, and long-term stability.
📌 Note on Pricing:
Prices shown are usually for 12-month commitments and are tax-exclusive. Community members have also observed slight savings when paying in Euros.
Once you select the plan,
You can ignore (or choose) other add-on features.
Once the order is complete, you will receive two emails
SSH (Secure Shell) is like a remote control for your server. It lets you safely connect to your VPS from your own computer over the internet — just like logging into a computer that’s far away.
You can use the built-in SSH Terminal on macOS or Windows OS.
Alternatively, for an easier and more consistent experience across both macOS and Windows, you may download Termius — a free SSH client that works the same way on both systems.
For the purpose of this tutorial, we will be using Termius to connect to your Contabo VPS. Once Termius is installed, you can create your free Termius account and launch the SSH client.
Start by clicking on Hosts => New Host on Termius, and add the details:
With the host created, double click the newly created Host so we can connect Termius to your VPS server. A ‘Continue’ button will then appear when you first connect, just click it and you should now be connected to your VPS!
Once connected to VPS, you should see the following in Termius console:
With a new VPS, the first thing you need to do is update the Linux packages on Ubuntu server to ensure everything is up to date.
Copy the following line:
sudo apt update && apt upgrade -y
And paste it into Termius console by right clicking on the command prompt (it should automatically paste it in for you).
Next, press Enter.
It will take approx 1–2 minutes to complete. When you see the following prompt you are good to proceed to the next step:
Installing Curl prepares your VPS to download the Shardeum validator setup files directly from the internet.
Copy the code below and paste it into your Termius console, continuing from the previous step
sudo apt-get install curl
Next, press Enter. This will take a few seconds and you should now see the following:
Update your VPS by copying the code below and paste it into your Termius console:
sudo apt update
When you see the below command prompt you can proceed to the next step,
Docker allows us to run your node inside a secure, isolated environment, making sure it doesn’t get affected by other programs — super important for stability!
Copy the code below and paste it into your Termius console:
sudo apt install docker.io
Next, press Enter. It will start installing, and you may first see a message about additional MB being used – which is fine. Just enter ‘Y’ and press Enter.
It will take a couple of mins to complete the docker installation, and when you see the screen below, you can go to the next step:
Check Docker version we installed. Copy the code below and paste it into your Termius console (it should return version 20.10.12 or higher)
docker --version
We’ll now download the official Shardeum validator installation script from GitHub and run it. This script automatically installs all the necessary components, including setting up your validator node.
To download and run the installer script, enter the following command in your Termius console (or Terminal):
curl -O https://raw.githubusercontent.com/shardeum/shardeum-validator/refs/heads/dev/install.sh && chmod +x install.sh && ./install.sh
Next, press Enter. The terminal will ask questions about your setup settings by prompting you for a Y/N just press Y and press Enter (the one below is specifically pertaining to granting permission to collect validator data for bug reporting)
It will now ask you if you want to run the web based dashboard — Enter y and press Enter again.
It will now ask you for a password. This is going to be your node password so it’s critical that you DO NOT forget it — write it down somewhere because if you lose it you’ll need to start all over again.
Also when entering the password it appears that nothing is being entered but it is — so be super careful about what you are entering. Once you have entered your password press Enter.
After entering the password, it will ask you to set the port number for the web based dashboard. You can add a custom session port or hit enter for the default port 8080:
It will next ask you to confirm external, and internal IP address one by one. You can either opt for custom choices or simply accept the default settings by pressing Enter each time
If you wish to set an explicit external IP, enter an IPv4 address (default=auto):
If you wish to set an explicit internal IP, enter an IPv4 address (default=auto):
It will then ask you to confirm two ports to open for the Shardeum node in your firewall. This allows P2P communication between nodes. You can either opt for custom choices or simply accept the default settings by pressing Enter each time
Enter the first port (1025-65536) for p2p communication (default 9001)
Enter the second port (1025-65536) for p2p communication (default 10001):
It will then ask you which base directory that you want to use for your Shardeum node. Again, you can either opt for adding a custom path or accept the default settings by pressing Enter to install to root (default)
What base directory should the node use (defaults to ~/.shardeum):
This will begin the node installation and this can take up to 15 mins. After the installation finishes, your node will be up and running — but we still need to connect to the validator dashboard and stake SHM to officially start validating. Let’s do that next!
Once the installation is complete, your validator automatically connects to the Shardeum network and prepares to participate. This completes the 'running software' step we discussed earlier.
Before moving on to staking, it’s important to understand this key step that you’ll manage regularly while running your node.
We will use Graphical User Interface (GUI) instead of Command Line Interface (CLI) for this tutorial. Unlike many blockchain networks, Shardeum GUI dashboard offers a simple, beginner-friendly way to manage your node through your web browser. Instead of typing complex commands in the CLI terminal (which is better suited for developers), you can stake, monitor, and manage your validator with just a few clicks. It’s faster, safer for beginners, and reduces the chance of making mistakes.
You can now open validator GUI by going to your web browser and go to:
https://<server_ip>:8080/
So for example if your IP address is say 31.220.93.47 and the default port is 8080 then you will need to open your browser and enter:
https://31.220.93.47:8080/
You should now see a page like this. Click the Advanced button, then click the link that says something like ‘Proceed to 31.220.93.47:8080 (unsafe)’ to access the Validator GUI dashboard login page.
You will be prompted to enter your node password which you created under step 5 when logging in for the first time. After you enter the password in the field below, click the ‘Connect Securely’ button:
You should now see the “Overview” page for the Shardeum Validator Dashboard in your web browser. Now click the “Start Node” button in the top right box as shown below.
Monitor Your Validator Node: Go to “Performance” tab to see your node’s hardware performance here.
Some Best Practices:
- CPU: Try to keep average CPU usage below 75%.If CPU stays too high, your node might miss validations. In that case, you will need to upgrade VPS as needed.
- RAM: Make sure you have enough free memory to avoid unexpected slowdowns or crashes.
- Disk: If your disk fills up, your validator may stop functioning correctly. Keeping at least 20% free space gives your server room to operate safely.
- Network: Use your VPS with fast, stable internet connection. A fast and stable connection keeps your node synced and performing validations reliably.
Your server hardware is now fully prepared!!
Once everything is ready, go to the Your Stake rectangle box on the right side of the dashboard and click Connect Wallet.
After connecting your wallet, click the Add Stake button that will now appear in the same box.
When you click Add Stake, two of the three fields will be pre-filled automatically. You’ll need to enter the third field manually.
You can now click the “Stake” button. Your wallet will ask you to sign the transaction to stake your SHM. Once the transaction is signed and complete, you have staked your SHM tokens successfully. This is when you effectively become eligible to actively validate transactions and earn rewards.
- If your node status is on Standby and you have 2400 SHM or more staked, your validator node is setup correctly.
- The network will automatically add your validator to be active in the network. The time to be added as an active validator will vary based on network load and validators in the network
- Standby nodes are essential for handling spikes in network traffic and supporting the regular rotation of active validators. To enhance security, standby nodes are selected at random rather than following a FIFO approach.
- Only active nodes earn rewards based on their time in the active set, while standby nodes do not. This design choice prevents vulnerabilities and ensures the network remains efficient and fair.
Keeping your validator node updated is crucial for staying in sync with the Shardeum network. It is necessary to keep your validator updated by checking the minimum version required and your current version periodically. Staying updated helps you avoid disconnections, maintain eligibility for rewards, and ensure your node operates smoothly.
To check your validator’s version and status remotely, open your local Mac/Windows Terminal on you your laptop/desktop (not VPS terminal) and run the following command:
curl <server_ip>:9001/nodeinfo
Example if your server IP is 31.220.93.47, enter the command as is:
curl http://123.45.67.89:9001/nodeinfo
You’ll get a JSON response showing your current validator version and node status.
Now that you’ve checked your validator’s version, let’s walk through how to update your Shardeum validator if needed without affecting your staked SHM.
To update your validator node, simply SSH into your VPS and run the following command from your server terminal (Termius console in our case):
curl -O https://raw.githubusercontent.com/shardeum/shardeum-validator/refs/heads/itn4/install.sh && chmod +x install.sh && ./install.sh
This will download the latest validator installation script and upgrade your node automatically.
After restarting the dashboard, it’s a good idea to verify your validator version again either through your local terminal CLI (curl http://<your-server-ip>:9001/nodeinfo) or from the dashboard settings page.
Note for Advanced Users:
- Feel free to manage your validator through the CLI by using operator-cli commands. Refer to the official Shardeum documentation for advanced CLI options.
Other Notes:
- We will share more details about reward policies, eviction, validator rules among other important information soon.
- This blog tutorial is partly sourced from a Medium post by a community member.
- Shardeum does not endorse or take responsibility for third-party service providers. Always DYOR.