Ноды (гайды)
November 18, 2023

Установка ноды Subspace

О проекте

Subspace — это новый экологически чистый, масштабируемый блокчейн первого уровня, который может служить инфраструктурным уровнем для всей экосистемы Web3. Subspace предлагает интеллектуальное хранилище в масштабе Интернета — от игр и метавселенных на основе NFT до межсетевых приложений.

Subspace Labs, разработчик Subspace Network, объявили о завершении раунда стратегического финансирования на сумму 32,9 млн $ под руководством Pantera Capital с участием Coinbase Ventures, Crypto.com, Alameda Research, ConsenSys Mesh, KR1, Hypersphere Ventures, Stratos Technologies, Alumni Ventures. Blockchain Fund, GSR Ventures, Eniac Ventures, Bixin Ventures, Definancex, Candaq, Vendetta Capital, Illusionist Group, NGC Ventures, Cabin VC, Gate Ventures, OneBlock Capital и Automata Network.

Подготовка сервера

Официальные требования:
4 CPU 8 GB RAM 200 GB (минимум)
Ubuntu 20.04 (минимум).

Обновляем пакеты:

sudo apt update && sudo apt install curl -y

Устанавливаем необходимые пакеты:

sudo apt update && sudo apt install ocl-icd-opencl-dev libopencl-clang-dev libgomp1 -y

Установка ноды

Первым делом требуется создать кошелёк, для этого переходим по ссылке. и следуем примерам на скринах:

Переходим в корень:

cd $HOME

Создаём переменные:

SUBSPACE_WALLET=кошелёк
SUBSPACE_NODENAME=имя_ноды
SUBSPACE_FARM_PATH=$HOME/.local/share/subspace-farmer
SUBSPACE_NODE_PATH=$HOME/.local/share/subspace-node

Устанавливаем размер плота:

PLOT_SIZE=2GB

Создаём папки:

sudo mkdir -p $SUBSPACE_FARM_PATH
sudo mkdir -p $SUBSPACE_NODE_PATH

Удаляем старые файлы, если такие есть:

rm -rf subspace-node subspace-farmer

Далее проверяем код выпуска процессора командой ниже, и смотрим в интернете когда выпущена была эта модель:

lscpu

Скачиваем бинарные файлы в зависимости от процессора.

Для новых процессоров с ~2015 года:

wget -O subspace-node https://github.com/subspace/subspace/releases/download/gemini-3g-2023-nov-21/subspace-node-ubuntu-x86_64-skylake-gemini-3g-2023-nov-21
wget -O subspace-farmer https://github.com/subspace/subspace/releases/download/gemini-3g-2023-nov-21/subspace-farmer-ubuntu-x86_64-skylake-gemini-3g-2023-nov-21

Для старых процессоров с ~2009 года:

wget -O subspace-node https://github.com/subspace/subspace/releases/download/gemini-3g-2023-nov-21/subspace-node-ubuntu-x86_64-v2-gemini-3g-2023-nov-21
wget -O subspace-farmer https://github.com/subspace/subspace/releases/download/gemini-3g-2023-nov-21/subspace-farmer-ubuntu-x86_64-v2-gemini-3g-2023-nov-21

Выдаём права на эти файлы:

sudo chmod +x subspace-node subspace-farmer

Перемещаем эти файлы:

sudo mv subspace-node /usr/local/bin/
sudo mv subspace-farmer /usr/local/bin/

Останавливаем старые сервисные файлы, если такие имеются:

sudo systemctl stop subspaced subspaced-farmer &>/dev/null
sudo rm -rf $HOME/.local/share/subspace*

Создаём сервисные файлы:

echo "[Unit]
Description=Subspace Node
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=/usr/local/bin/subspace-node --base-path \"$SUBSPACE_NODE_PATH\" --chain gemini-3g --blocks-pruning 256 --state-pruning archive-canonical --no-private-ipv4 --validator --name $SUBSPACE_NODENAME
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > $HOME/subspaced.service
echo "[Unit]
Description=Subspaced Farm
After=network.target

[Service]
User=$USER
Type=simple
TimeoutStartSec=infinity
ExecStartPre=/usr/bin/sleep 60
ExecStart=/usr/local/bin/subspace-farmer farm --reward-address $SUBSPACE_WALLET path=$SUBSPACE_FARM_PATH,size=\"$PLOT_SIZE\"
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > $HOME/subspaced-farmer.service

Перемещаем эти файлы:

sudo mv $HOME/subspaced.service /etc/systemd/system/
sudo mv $HOME/subspaced-farmer.service /etc/systemd/system/

Запускаем daemon и сервисные файлы:

sudo systemctl restart systemd-journald
sudo systemctl daemon-reload
sudo systemctl enable subspaced subspaced-farmer
sudo systemctl restart subspaced

И через секунд 20:

sudo systemctl restart subspaced-farmer

За синхронизацией можно следить в прямом эфире с помощью команды:

sudo journalctl -fu subspaced -o cat | grep -E "best"

Ещё можно наблюдать синхронизацию в телеметрии, но она часто отваливается.

"Идеальную" высоту можно найти в explorer.

После завершения синхронизации ноды, фармер начнёт продуцировать блоки и получать за это награду. Если баланс кошелька увеличивается - всё работает отлично.

Вот и всё. Фармим TSSC и ждём, можно увеличить размер плота, если диск позволяет, он меняется в файле /etc/systemd/system/subspaced-farmer.service после этого перезагрузить и ноду и фармер.

Полезные команды

Проверить логи ноды:

journalctl -u subspaced -f -o cat

Проверить логи фармера:

journalctl -u subspaced-farmer -f -o cat

Рестарт ноды:

sudo systemctl restart subspaced

Рестарт фармера:

sudo systemctl restart subspaced-farmer

Удаление:

sudo systemctl stop subspaced subspaced-farmer 
sudo systemctl disable subspaced subspaced-farmer 
sudo rm -rf ~/.local/share/subspace* 
sudo rm -rf /etc/systemd/system/subspace* 
sudo rm -rf /usr/local/bin/subspace*

Вот и всё, всем профита!