Гайд по установке ноды Subspace на Linux сервер
ЭТОТ ГАЙД БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ. Это означает, что сейчас установка будет работать, но с выходом новых релизов ноды инструкция не будет обновляться. Появилась официальная инструкция по установке ноды через docker. Теперь для унификации установки рекомендуется именно она. Здесь мой новый гайд на русском как установить ноду или переехать с systemd на docker.
Сайт https://subspace.network/
Discord проекта https://discord.gg/KKR7K3H2Kg
Официальная документация по установке на github https://github.com/subspace/subspace/blob/main/docs/farming.md
Установка с нуля
Скачиваем исполняемые файлы и создаем системного пользователя
cd $HOME sudo apt update && sudo apt upgrade -y sudo apt install wget -y wget -O subspace-node https://github.com/subspace/subspace/releases/download/snapshot-2022-mar-09/subspace-node-ubuntu-x86_64-snapshot-2022-mar-09 wget -O subspace-farmer https://github.com/subspace/subspace/releases/download/snapshot-2022-mar-09/subspace-farmer-ubuntu-x86_64-snapshot-2022-mar-09 sudo mv subspace* /usr/local/bin/ sudo chmod +x /usr/local/bin/subspace* sudo adduser --system --home=/var/lib/subspace subspace
Указываем адрес кошелька для получения вознаграждения и имя ноды. Адрес можно получить здесь https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ffarm-rpc.subspace.network#/accounts
Это тоже нужно вставить в консоль построчно, заменив своими значениями:
SUBSPACE_WALLET_ADDRESS="адрес для получения вознаграждения" SUBSPACE_NODE_NAME="имя вашей ноды"
Создаем сервисные файлы (вставить в консоль каждый блок целиком ничего не меняя)
printf "[Unit] Description=Subspace Node After=network.target [Service] Type=simple User=subspace ExecStart=$(which subspace-node) \\ --chain testnet \\ --wasm-execution compiled \\ --execution wasm --bootnodes \"/dns/farm-rpc.subspace.network/tcp/30333/p2p/12D3KooWPjMZuSYj35ehced2MTJFf95upwpHKgKUrFRfHwohzJXr\" \\ --rpc-cors all \\ --rpc-methods unsafe \\ --ws-external \\ --validator \\ --telemetry-url \"wss://telemetry.polkadot.io/submit/ 1\" \\ --telemetry-url \"wss://telemetry.subspace.network/submit 1\" \\ --name $SUBSPACE_NODE_NAME Restart=always RestartSec=10 LimitNOFILE=10000 [Install] WantedBy=multi-user.target" > /etc/systemd/system/subspace-node.service
printf "[Unit] Description=Subspace Farmer Requires=subspace-node.service After=network.target After=subspace-node.service [Service] Type=simple User=subspace ExecStart=$(which subspace-farmer) farm --reward-address $SUBSPACE_WALLET_ADDRESS Restart=always RestartSec=10 LimitNOFILE=10000 [Install] WantedBy=multi-user.target" > /etc/systemd/system/subspace-farmer.service
sudo systemctl daemon-reload sudo systemctl enable subspace-node subspace-farmer sudo systemctl restart subspace-node subspace-farmer
Обновление
Если вы только что установили ноду, то обновлять ничего не нужно.
На случай, если переменная окружения не сохранилась, задаем имя заново:
SUBSPACE_NODE_NAME="имя ноды"
sudo systemctl stop subspace-node
printf "[Unit] Description=Subspace Node After=network.target [Service] Type=simple User=subspace ExecStart=$(which subspace-node) \\ --chain testnet \\ --wasm-execution compiled \\ --execution wasm --bootnodes \"/dns/farm-rpc.subspace.network/tcp/30333/p2p/12D3KooWPjMZuSYj35ehced2MTJFf95upwpHKgKUrFRfHwohzJXr\" \\ --rpc-cors all \\ --rpc-methods unsafe \\ --ws-external \\ --validator \\ --telemetry-url \"wss://telemetry.polkadot.io/submit/ 1\" \\ --telemetry-url \"wss://telemetry.subspace.network/submit 1\" \\ --name $SUBSPACE_NODE_NAME Restart=always RestartSec=10 LimitNOFILE=10000 [Install] WantedBy=multi-user.target" > /etc/systemd/system/subspace-node.service
sudo systemctl daemon-reload sudo systemctl restart subspace-node
Новая телеметрия без ограничения в 1000 нод будет доступна по адресу:
https://telemetry.subspace.network
Полезные команды
Посмотреть логи ноды и фармера:
journalctl -u subspace-node -f -o cat
journalctl -u subspace-farmer -f -o cat
sudo systemctl restart subspace-node
sudo systemctl restart subspace-farmer
Также свою ноду можно найти по имени в телеметрии (просто начните набирать имя для поиска):
https://telemetry.subspace.network
Телеметрия дотсамы с ограничением в 1000 нод (свою можно там и не найти):
https://telemetry.polkadot.io/#list/0x332ef6e751e25426e38996c51299dfc53bcd56f40b53dce2b2fc8442ae9c4a74
Решение проблем
Если вместо логов вы видите "No journal files were found" нужно добавить в файл /etc/systemd/journald.conf параметр Storage=persistent или раскомментировать существующий. После этого перезапустить сервис:
sudo systemctl restart systemd-journald
Удаление ноды
sudo systemctl stop subspace-node subspace-farmer sudo systemctl disable subspace-node subspace-farmer sudo deluser subspace sudo rm -rf /var/lib/subspace sudo rm -rf /root/.local/share/subspace* sudo rm /usr/local/bin/subspace* sudo rm /etc/systemd/system/subspace*