Skip to content

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:

go version

If you have a version newer than 1.19, remove it the same way you installed. For example:

sudo snap remove go
sudo apt remove golang-go
sudo rm -rf /usr/local/go

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:

ppd version

should return:

Info

v0.12.1


Run config tool๐Ÿ”—︎

Continue with these commands in terminal:

cd $HOME
mkdir rsnode
cd rsnode
ppd config -w -p

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:

curl ifconfig.co

Save the resulting IP address for later. Now open the config file:

nano $HOME/rsnode/configs/config.toml

Make the following edits:

# IP address of the node. Eg: "127.0.0.1"
network_address = 'external.ip.from.curl.ifconfig'

Enter here the wallet that will be receiving the rewards (could be the same as node wallet):

# Address for receiving reward. Eg: "stxxxxxxxxxxxxxxxxxxxxxxxxxx"
beneficiary_address = ''

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.

tmux new -s sds
cd $HOME/rsnode
ppd start

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:

tmux attach-session -t sds

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:

cd $HOME/rsnode
ppd terminal

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
rp
activate 1600stos 0.01stos

Your node should start mining on its own or you can try after a few minutes to run:

startmining

Wait for a minute or so and run

status

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:

Discord

Telegram