Setup a SDS Node
Last update: June 15, 2024
Rquirements๐︎
Running a SDS node requires the following resources:
- a linux server with ssh access
- proper port forward if you are behind a router
- open port if firewall is active
-
server should have a decent configuration:
Type CPU RAM Storage Bandwidth Stake TIER 1 8 Coresยน, 2.5GHzยฒ 16 GB 4 TB Up: 50Mbps Down: 100Mbps 800 STOS TIER 2 16 Coresยน, 2.5GHzยฒ 32 GB 8 TB Up: 100Mbps Down: 100Mbps 1600 STOS TIER 3 32 Coresยน, 2.5GHzยฒ 64 GB 16 TB Up: 1Gbps Down 1Gbps 3200 STOS ยน Can be achieved using dual CPU server configurations (eg. 2cpu x 8cores, as long as the frequency per core is respected).
ยฒ 2.5GHz refers to Base Frequency, not Turbo/Boost Frequency. -
Software (tested version)
- Ubuntu 20.04
- Go 1.19-1.22 linux/amd64
Warning
If you are behind router, you need proper port forwarding otherwise the node won't be able to start.
Check this guide and test your port forward setup before trying to install the node.
Setup๐︎
Info
Copy each command one by one and wait for the first one to finish before running the next one.
I havenโt grouped every command in one line so you understand better whatโs going on.
Login to a terminal as a user (avoid using root) and install the prerequisites:
sudo apt install git build-essential curl tmux --yes
mkdir $HOME/bin
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.profile
source ~/.profile
Install go lang version 1.19 - 1.22. Currently, the compilation will fail with newer versions of go.
Check if you already have go installed:
If you have a version newer than 1.19, remove it the same way you installed. For example:
Install go 1.19:
wget https://go.dev/dl/go1.22.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.3.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile
source ~/.profile
go version
You should get go version go1.22.3 linux/amd64
.
Compile executables๐︎
Continue with these commands in terminal:
cd $HOME
git clone https://github.com/stratosnet/sds.git
cd sds
git checkout tags/v0.12.1
make build
cp target/ppd $HOME/bin
Test if ppd is setup correctly:
should return:
Info
v0.12.1
Run config tool๐︎
Continue with these commands in terminal:
This will start the configuration tool
Info
Enter wallet nickname: enter a wallet name (wallet1 for example)
Enter password: enter a password for the wallet
Enter password again: re-enter a password for the wallet
input bip39 mnemonic: press enter for a new wallet or paste the 12 words if you want to recover a wallet
input hd-path for the account press enter
save wallet password to config file: press Y and enter
Enter password: enter a password for the P2P key
Enter password again: re-enter a password for the P2P key
How should the p2p key be generated? press 3 and enter
Result:
finished changing configuration file WalletAddress: st1xxxxxx < save this for later
Edit the configuration file๐︎
Find your external ip with this command:
Save the resulting IP address for later. Now open the config file:
Make the following edits:
Enter here the wallet that will be receiving the rewards (could be the same as node wallet):
Save the file by pressing CTRL + X , then Y and Enter.
Starting the node๐︎
Your node should be running at all times so we will open it in a tmux window so it keeps running even after you close your SSH termina.
Tip
To detach from this window, Press (and hold) CTRL, then press B and release both, then press D.
Your node is now running in the background. To re-attach to it, run:
Activate node๐︎
You will interact the node through a custom terminal. Detach from the previous tmux or open a new SSH connection and run these commands:
In this terminal, run the following commands to activate a resource node:
Replace 1600 with the amount specific for your intended tier:
- Tier1 - 800stos
- Tier2 - 1600stos
- Tier3 - 3200stos
Your node should start mining on its own or you can try after a few minutes to run:
Wait for a minute or so and run
This will return a reply such as the following, pointing out that everything is working fine:
Activation: Active | Registration Status: Registered | Mining: ONLINE | Initial tier: 1 | Ongoing tier: 1 | Weight score: 5010
Support๐︎
If you run into any issues, you can find support on: