April 9, 2022

Нода Subspace

Сервер для ноды можете купить тут КЛИК

Характеристики ноды

|2 СPU 2 RAM 60 GB
После того как вы взяли сервак, идёте сюда и качаете MobaXterm, с фришной версией там можно поставить одновременно 10 нод.

Заходите в приложение

Кликаем на кнопку “Session”, выбираем “SSH” и вводим IP Сервера, который мы получали во втором пункте.


Отправляемся во вкладку “Bookmark settings”, задаём имя сессии и жмём “OK”.

В появившемся окне пишем root, в следующей строке вставляем пароль из 2 пункта.

В терминале пароль не виден. Для того, чтобы его вставить мы жмём на колёсико мыши и далее просто тыкаем на кнокпу “Enter”



Если видим подобное окно — значит вы вошли в терминал, можно приступать к установке ноды.

Далее следуем инструкции:

Устанавливаем docker:

sudo -i
cd $HOME
# следующие две команды могут выдать ошибку и это нормально
apt update && apt install curl -y && apt purge docker docker-engine docker.io containerd docker-compose -y
rm /usr/bin/docker-compose /usr/local/bin/docker-compose
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
systemctl restart docker
curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Задаем переменные окружения с адресом и именем ноды. Адрес можно получить здесь https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feu.gemini-1b.subspace.network%2Fws#/accounts

# В кавычках указываем свой адрес и произвольное имя ноды
SUBSPACE_WALLET_ADDRESS="адрес для получения вознаграждения"
SUBSPACE_NODE_NAME="имя вашей ноды"
# Задаем лимит использования диска G - гигабайт, T - террабайт. 
# Например, 100G - 100 гигабайт или 2T - 2 террабайта
SUBSPACE_PLOT_SIZE="100G"

# здесь ничего не меняем
echo 'export SUBSPACE_WALLET_ADDRESS='$SUBSPACE_WALLET_ADDRESS >> $HOME/.bash_profile
echo 'export SUBSPACE_NODE_NAME="'${SUBSPACE_NODE_NAME}'"' >> $HOME/.bash_profile
echo 'export SUBSPACE_PLOT_SIZE='$SUBSPACE_PLOT_SIZE >> $HOME/.bash_profile
source $HOME/.bash_profile

Теперь нужно создать docker-compose.yml

mkdir $HOME/subspace
cd $HOME/subspace

Весь блок вставляется в консоль целиком:

tee $HOME/subspace/docker-compose.yml > /dev/null <<EOF
version: "3.7"
services:
  node:
    # For running on Aarch64 add '-aarch64' after 'DATE'
    image: ghcr.io/subspace/node:gemini-1b-2022-jun-18
    volumes:
# Instead of specifying volume (which will store data in '/var/lib/docker'), you can
# alternatively specify path to the directory where files will be stored, just make
# sure everyone is allowed to write there
      - node-data:/var/subspace:rw
#      - /path/to/subspace-node:/var/subspace:rw
    ports:
# If port 30333 is already occupied by another Substrate-based node, replace all
# occurrences of '30333' in this file with another value
      - "0.0.0.0:30333:30333"
    restart: unless-stopped
    command: [
      "--chain", "gemini-1",
      "--base-path", "/var/subspace",
      "--execution", "wasm",
      "--pruning", "1024",
      "--keep-blocks", "1024",
      "--port", "30333",
      "--rpc-cors", "all",
      "--rpc-methods", "safe",
      "--unsafe-ws-external",
      "--validator",
# Replace 'INSERT_YOUR_ID' with your node ID (will be shown in telemetry)
      "--name", "$SUBSPACE_NODE_NAME"
    ]
    healthcheck:
      timeout: 5s
# If node setup takes longer then expected, you want to increase 'interval' and 'retries' number.
      interval: 30s
      retries: 5

  farmer:
    depends_on:
      node:
        condition: service_healthy
# For running on Aarch64 add '-aarch64' after 'DATE'
    image: ghcr.io/subspace/farmer:gemini-1b-2022-jun-18
# Un-comment following 2 lines to unlock farmer's RPC
#    ports:
#      - "127.0.0.1:9955:9955"
# Instead of specifying volume (which will store data in '/var/lib/docker'), you can
# alternatively specify path to the directory where files will be stored, just make
# sure everyone is allowed to write there
    volumes:
      - farmer-data:/var/subspace:rw
#      - /path/to/subspace-farmer:/var/subspace:rw
    restart: unless-stopped
    command: [
      "--base-path", "/var/subspace",
      "farm",
      "--node-rpc-url", "ws://node:9944",
      "--ws-server-listen-addr", "0.0.0.0:9955",
# Replace 'WALLET_ADDRESS' with your Polkadot.js wallet address
      "--reward-address", "$SUBSPACE_WALLET_ADDRESS",
# Replace 'PLOT_SIZE' with plot size in gigabytes or terabytes, for instance 100G or 2T (but leave at least 10G of disk space for node)
      "--plot-size", "$SUBSPACE_PLOT_SIZE"
    ]
volumes:
  node-data:
  farmer-data:
EOF

Теперь запускаем:

docker-compose up -d

Просмотр логов

Логи можно смотреть так:

docker-compose logs --tail=1000 -f

Показать подписанные блоки:

docker-compose logs | grep "signed"

Важно: запускать нужно из того же каталога, где лежит ранее созданный файл docker-compose.yml. Поэтому при новом логине на сервер предварительно нужно сделать cd $HOME/subspace

Обновление 18.06

Этот раздел предназначен для тех, кто уже устанавливал Subspace по этому гайду ранее. Если установка производилась после 21 июня 2022, то команды из этого раздела выполнять не нужно!

Переходим в рабочий каталог:

sudo -i
cd $HOME/subspace

Обновляем версию релиза:

sed -i.bak "s/:gemini-1b-2022.*/:gemini-1b-2022-jun-18/" docker-compose.yml

Перезапускаем ноду и фармера:

docker-compose up -d

Мой блог https://t.me/Forward_invest