June 1, 2022

Нода Subspace +фармер | Gemini

В этом гайде установим ноду и фармер Subspace для участия в вознаграждаемом тестнете под кодовым названием Gemini.

О проекте

Subspace — это первый протокол, полностью разрешивший трилемму блокчейна без компромиссов.

Трилемма блокчейна — это термин, придуманный Виталиком Бутериным для описания проблем создания безопасного, масштабируемого и децентрализованного блокчейна. Он утверждает, что на практике блокчейн может реализовать только две из трех функций. ‍ Безопасность означает сохранение безопасности и жизнеспособности для половины враждебных узлов (допущение честного большинства). Децентрализация означает, что вычислительные ресурсы, хранилище и сетевые ресурсы должны быть достаточно небольшими, чтобы любой мог запустить узел на своем ноутбуке. Масштабируемость означает, что пропускная способность транзакций должна увеличиваться по мере того, как к сети подключается больше пользователей и улучшается их оборудование.

Консенсус PoAS - Чтобы стимулировать фермеров к сохранению истории, мы расширяем спартанский консенсус доказательства пространства до доказательства хранения истории самого блокчейна. В соответствии с консенсусом Proof-of-Archive-Storage (PoAS) каждый фермер хранит столько доказуемо уникальных сегментов истории цепочки, сколько позволяет их дисковое пространство. Чем больше кусочков истории хранит фермер, тем больше вероятность того, что его выберут для создания нового блока.

Распределенное архивное хранилище - Фермеры хранят историю коллективно, образуя распределенную сеть хранения, которая гарантирует, что история всегда доступна для загрузки. Чтобы обеспечить правильную балансировку нагрузки и согласованную репликацию, каждый фермер получает стимул хранить фрагменты, наиболее близкие к его случайно назначенному идентификатору узла.

Развязанные смарт-контракты - Чтобы избавить фермеров от бремени поддержания состояния и предварительного формирования избыточных вычислений, мы применяем классический метод в распределенных системах разделения консенсуса и вычислений . Фермеры несут исключительную ответственность за упорядочивание транзакций, в то время как отдельный класс узлов-исполнителей поддерживает состояние и вычисляет переходы для каждого нового блока.

Сервер

Для установки нам будет необходим сервер, рекомендуемые характеристики:
4 CPU / 8 GB RAM x/ 80 GB SSD (или NVME) / Ubuntu 20.04

  • Для новичков: берем тут VDSina (инструкция) или тут FirstVDS
  • Для продвинутых: Hetzner или Contabo (вопросы с оплатой из РФ)

Сам по началу буду пробовать на конфигурации 4/4/80, предыдущий стресс-тест Aries работал без проблем. Добавлю памяти/процессора при необходимости. Буду так же экспериментировать с размером дискового пространства.

Установка

# выполняем скрипт одной строкой:
wget -q -O subspace-gemini.sh https://raw.githubusercontent.com/m1crocrypto/subspace/main/subspace-gemini.sh && chmod +x subspace-gemini.sh && sudo /bin/bash subspace-gemini.sh

Произойдет автоматическое обновление дистрибутива сервера, установки необходимых зависимостей, далее установка ноды и фармера Subspace.

Перед установкой будет предложено ввести имя ноды, ваш polkadot.js кошелек (если его нет, необходимо создать, обязательно сохранить пароль и фразу восстановления). Скопировать адрес и вставить в строку запроса. А также ввести размер дискового пространства для фармера. На сервере 80гб рекомендуется занять не более 60гб. Вводить необходимо значение "60G" (без кавычек). Если у вас пространство измеряется терабайтами то, к примеру "2T".

Далее будет произведена установка в автоматическом режиме, по окончании выполните:

source $HOME/.bash_profile

Через какое то время после синхронизации ноды баланс кошелька начнет пополняться тестовыми токенами TSSC.

На этом установка завершена!

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

Проверка версии

subspace --version && farmer --version

Узнать имя ноды, адрес, размер дискового пространства

echo Node name: $NICKNAME / Wallet: $SUBSPACE_ADDRESS / Disk space: $SPACE

Проверяем логи ноды

sudo journalctl -u subspaced -f -o cat

Проверяем логи фармера

sudo journalctl -u farmerd -f -o cat

Телеметрия (смотрим синхронизацию и высоту блоков)
https://telemetry.subspace.network/#list/0x9ee86eefc3cc61c71a7751bba7f25e442da2512f408e6286153b3ccc055dccf0
(начните вводить имя своей ноды для фильтрации)

Остановить ноду и фармер

sudo systemctl stop farmerd subspaced

Перезапустить ноду и фармер

sudo systemctl restart farmerd subspaced

Сделать бэкап - сохранить файл (команда укажет путь)

find / -iname secret_ed25519 | grep subspace

Удаление

Останавливаем ноду и фармер (вводим команды по одной)

sudo systemctl stop subspaced farmerd
sudo systemctl disable subspaced farmerd

Удаляем файлы и сервис

rm -Rvf $HOME/.local/share/subspace*
sudo rm -v /etc/systemd/system/subspaced.service
sudo rm -v /etc/systemd/system/farmerd.service

Перезагружаем демона

sudo systemctl daemon-reload

Ссылки на проект

Medium | Site | Twitter | Discord | Telegram

Мой: Telegram | Youtube | Medium