Node
June 1, 2022

Subspace оплачиваемый тестнет

TG-КАНАЛ АВТОРА СТАТЬИ : CRYPTAN

подписывайся,чтобы не упускать годноту😉

Инвестиции в проект

Subspace привлекли 33 миллионов долларов в рамках стратегического раунда.
Инвесторы : Pantera, Coinbase, Cryptocom, Alameda, ConsenSys Mesh, KR1, Hypersphere и тд.

Аренда сервера

Macloud - https://macloud.ru/?partner=fqq8g7gcbc
10% скидка на аренду серверов:)

Системные требования

  • CPU: 4 CORE
  • RAM: 8 GB
  • SSD: 200 GB
  • OS: Ubuntu 20.04 LTS

Вход на сервер

  • В поиске Windows пишем "cmd" и запускаем( на MacOS или Linux - терминал).
  • Введите команду
ssh root@СвойIpАдресСервера

Например ssh [email protected] для сервера с адресом "185.209.29.187"

  • Введите "yes" с клавиатуры
  • Вставьте пароль от сервера , нажав 1 раз правую кнопку мыши , пароль виден НЕ будет, для безопасности сделано.
  • Вы вошли , если увидели +-похожее .

Установка

Устанавливаем 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-10
    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-10
# 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

Свою ноду можно найти по имени в телеметрии (просто начните набирать имя для поиска):

https://telemetry.subspace.network

Телеметрия дотсамы с ограничением в 1000 нод (свою можно там и не найти):

https://telemetry.polkadot.io/#list/0x332ef6e751e25426e38996c51299dfc53bcd56f40b53dce2b2fc8442ae9c4a74

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

Обновление до версии gemini-1b-2022-jun-10

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

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

sudo -i
cd $HOME/subspace

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

sed -i.bak "s/gemini-1b-2022-jun-08/gemini-1b-2022-jun-10/" docker-compose.yml

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

docker-compose up -d

Если у вас Нода стопается на блоке 33670 или что-то по хожее:



Откатываемся на обнову от 5-го числа

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

sudo -i
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-june-05
    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-june-05
# 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

Ждем +- актуальной высоты блока и ставим последнюю обнову по инструкции выше.

Обновление до версии gemini-1b-2022-jun-13

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

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

sudo -i
cd $HOME/subspace

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

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

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

docker-compose up -d

Удаление ноды (docker)

cd $HOME/subspace
docker-compose down -v
cd $HOME && rm -rf $HOME/subspace/