February 18, 2022

Stratos (SDS) /// v5.0

Устанавливаем ноду Stratos SDS для участия в tropos-1.

Если вы не знаете, что такое нода — читаем статью.
Если вы не знаете, где арендовать сервер для ноды — читаем статью.
Если вы не знаете, как подключиться к серверу — читаем статью.
Если вы всё знаете — открываем MobaXterm и создаём сессию.

Содержание

Stratos - новое поколение децентрализованной сети, обеспечивающее масштабируемые и надежные базы данных и вычислительную сеть.

Текущая фаза тестнета является стимулируемой (оплачиваемой).

Подробнее: https://github.com/stratosnet/sds/wiki/Tropos-Incentive-Testnet.


Medium | Docs | GitHub | WebSite | Twitter | Discord | Telegram | RU_Chat

Содержание

Официальные требования: 4 CPU x 16 GB RAM x 2TB SSD - Ubuntu 18.04+.

Субъективные наблюдения: X CPU x X GB RAM x X GB SSD - Ubuntu 20.04.

Содержание
# обновляем 'базу данных', обновляем дистрибутив
sudo apt-get update && sudo apt-get upgrade -y
# устанавливаем 'go' одной командой
wget https://golang.org/dl/go1.17.5.linux-amd64.tar.gz; \
rm -rv /usr/local/go; \
tar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gz && \
rm -v go1.17.5.linux-amd64.tar.gz && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile && \
source ~/.bash_profile && \
go version
# клонируем репозиторий и билдим 'sds'
cd && \
git clone https://github.com/stratosnet/sds.git; \
cd sds && \
git checkout v0.5.0 && \
make build && \
make install
# проверяем версию 'ppd'
ppd version
# создаём директорию под конфиги и кошельки
mkdir $HOME/rsnode && cd $HOME/rsnode
# создаём config, генерируя 2 кошелька: 'stsd' и 'st1'
ppd config -w -p

Сохраняем мнемонику и 2 файла в качестве бэкапа в каталоге:

$HOME/rsnode/accounts

Настраиваем конфиг. По факту, вам нужно изменить лишь одну строку: StratosChainUrl.

nano $HOME/rsnode/configs/config.yaml

После всех манипуляций мой конфиг выглядит следующим образом:

version: 5
versionshow: v0.5.0
downloadpathminlen: 0
Port: "18081"
NetworkAddress: 127.0.0.1
Debug: false
PPListDir: ./peers
AccountDir: ./accounts
StorehousePath: ./storage
DownloadPath: ./download
P2PAddress: stsdsxxx
P2PPassword: xxx
WalletAddress: st1xxx
WalletPassword: xxx
AutoRun: true
Internal: false
IsWallet: true
IsLimitDownloadSpeed: false
LimitDownloadSpeed: 0
IsLimitUploadSpeed: false
LimitUploadSpeed: 0
ChainId: tropos-1
Token: ustos
StratosChainUrl: localhost:11161 # см. ниже
StreamingCache: false
RestPort: ""
InternalPort: ""
TrafficLogInterval: 10
SPList:
- P2PAddress: ""
P2PPublicKey: ""
NetworkAddress: 3.12.6.122:8888

StratosChainUrl: https://rest-test.thestratos.org:443, если нет своей ноды;
StratosChainUrl: 127.0.0.1:X, если своя нода на этом же серваке;
StratosChainUrl: https://X.X.X.X:X, если своя нода на другом серваке.

Сохраняем изменения сочетанием клавиш Ctrl + S, Ctrl + X.

Мы запрашиваем токены на кошелёк, который только что генерировали. Начинается адрес на st1, не на stsds.

curl -X POST https://faucet-tropos.thestratos.org/faucet/st1xxxxxx

Запрашиваем токены с крана, пока не придёт хотя бы 1 раз.

Одного успешного пополнения хватит для запуска SDS.

Абузить кран нет необходимости.

После того как получили токены, переходим к созданию сервиса и регистрации ноды.

# создаём сервис одной командой
sudo tee <<EOF >/dev/null /etc/systemd/system/sdsd.service
[Unit]
Description=SDS
After=network-online.target
[Service]
User=$USER
ExecStart=$(which ppd) start \
--config $HOME/rsnode/configs/config.yaml \
--home $HOME/rsnode/ 
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
# запускаем сервис
systemctl daemon-reload && \
systemctl enable sdsd && \
systemctl restart sdsd
# смотрим логи
journalctl -u sdsd -f -o cat
# открываем терминал
ppd terminal --config $HOME/rsnode/configs/config.yaml --home $HOME/rsnode

Следующие команды выполняем внутри терминала, как в Massa.

# регистрируем ноду
registerpeer
# активируем аккаунт
activate 100000000 10000 100000
# включаем майнинг
startmining
# запускаем сервис
systemctl daemon-reload && \
systemctl enable sdsd && \
systemctl restart sdsd
# смотрим логи
journalctl -u sdsd -f -o cat