June 3, 2022

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

Приветствую всех, с вами MMS_Team и сегодня мы расскажем о установке ноды Subspace

Внимание

18.06.2022 Выпустили обновление, для обновления останавливаем сервисы,

sudo systemctl stop subspaced farmerd && \ sudo systemctl disable subspaced farmerd

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

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

Скачиваем и перемещаем новые бинарники,

cd $HOME rm -rf subspace* farmer* wget -O subspace https://github.com/subspace/subspace/releases/download/gemini-1b-2022-jun-18/subspace-node-ubuntu-x86_64-gemini-1b-2022-jun-18 wget -O farmer https://github.com/subspace/subspace/releases/download/gemini-1b-2022-jun-18/subspace-farmer-ubuntu-x86_64-gemini-1b-2022-jun-18 chmod +x subspace* farmer* mv subspace* farmer* /usr/local/bin/

Выполняем команды для зачистки старых данных только если выдает ошибки при синхронизации (что цепочка была поднята в другой сети), если ошибок нет то данные зачищать не нужно!!!

/usr/local/bin/farmer wipe /usr/local/bin/subspace purge-chain --chain gemini-1

Заново запускаем сервисы

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

sudo systemctl restart farmerd

Проверяем версии бинарников

echo -e "\n$(farmer --version)\n$(subspace --version)\n"

Вывод такой

subspace-farmer 0.3.0 subspace-node 0.1.0-de3dfb1c8ad

Смотрим логи

sudo journalctl -u subspaced -f -o cat

sudo journalctl -u farmerd -f -o cat

А теперь установка с ноды с нуля.

Минимальные требования для ноды следующие: 2 Cores, 4GB RAM, 60GB of storage

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

Официальный дискорд проекта, и официальный сайт.

После установки можно отслеживать свою ноду в телеметрии.

Обновляем сервер

sudo apt update && sudo apt upgrade -y

Ставим необходимые пакеты

sudo apt install curl ocl-icd-opencl-dev jq wget -y&&sudo apt-get install libgomp1

Скачиваем и перемещаем бинарники в рабочую папку

cd $HOME rm -rf subspace* farmer* wget -O subspace https://github.com/subspace/subspace/releases/download/gemini-1b-2022-jun-18/subspace-node-ubuntu-x86_64-gemini-1b-2022-jun-18 wget -O farmer https://github.com/subspace/subspace/releases/download/gemini-1b-2022-jun-18/subspace-farmer-ubuntu-x86_64-gemini-1b-2022-jun-18 chmod +x subspace* farmer* mv subspace* farmer* /usr/local/bin/

Задаем переменные с именем ноды и адресом кошелька, скопировать номер если он есть можно тут, если кошелька нет то устанавливаем расширение polcadot и создаем кошелёк в сети subspace

echo "export MONIKER="your_name"" >> ~/.bash_profile

echo "export SUBSPACE_ADDRESS="your_wallet_number"" >> ~/.bash_profile

source ~/.bash_profile

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

sudo tee <<EOF >/dev/null /etc/systemd/system/subspaced.service [Unit] Description=Subspace Node After=network.target [Service] Type=simple User=$USER ExecStart=$(which subspace) \\ --chain="gemini-1" \\ --execution="wasm" \\ --pruning=1024 \\ --keep-blocks=1024 \\ --validator \\ --name="${MONIKER}" Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF

Затем сервис файл фармера, здесь в поле --plot-size необходимо вписать объем диска выделенного под фармер, рекомендуется 60-70% от общего объма накопителя (но на ноду желательно оставить минимум 20Gb)

sudo tee <<EOF >/dev/null /etc/systemd/system/farmerd.service [Unit] Description=Subspace Farmer After=network.target [Service] Type=simple User=$USER ExecStart=$(which farmer) farm \\ --reward-address=${SUBSPACE_ADDRESS} \\ --plot-size=70G Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF

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

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

Смотрим логи ноды

sudo journalctl -u subspaced -f -o cat

Если нода запустилась и в логах началась синхронизация то запускаем фармер

sudo systemctl restart farmerd

После этого ждем окончания синхронизации ноды

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

sudo journalctl -u farmerd -f -o cat

На момент написания гайда, сеть ведет себя не стабильно, возможны зависания и остановка синхронизации, есть несколько вариантов попробовать это исправить: зачистка базы данных, переустановка ноды, при ошибке "Waiting for farmer to receive and acknowledge archived segment" при синхронизации ноды помогает перезапуск фармера

Для удаления ноды выполняем следуещее

Останавливаем и выключаем сервисы

sudo systemctl stop subspaced farmerd && \ sudo systemctl disable subspaced farmerd

Удаляем базу данных

rm -rf ~/.local/share/subspace*

Удаляем бинарники, сервисные файлы и перезапускаем системные процессы

sudo rm /usr/local/bin/subspace
sudo rm /usr/local/bin/farmer
sudo rm /etc/systemd/system/subspaced.service
sudo rm /etc/systemd/system/farmerd.service
sudo systemctl daemon-reload

Соответственно если надо удалить только базу данных, то останавливаем сервисы, удаляем базу, включаем и перезапускаем сервисы

Большое спасибо, за внимание и уделенное время

Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms

С уважением, MMS_Team