Actual Events
April 3, 2022

Subspace /// Gemini-3c

Устанавливаем фармер Subspace для участия в открытом тесте без наград Gemini-3c.

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

СОДЕРЖАНИЕ

Описание проекта: несколько слов о проекте, условия участия в ивенте.

Нода:

Полезные вещи:

Благодарности.

Полезные ресурсы на каждый день.

ОПИСАНИЕ ПРОЕКТА

Содержание

Subspace Network - сеть, позволяющая разработчикам очень просто и быстро развёртывать децентрализованные Web3-приложения, которые, в свою очередь, могут автоматически масштабироваться при необходимости.

Полная интеграция с Polkadot & Kusama, в ближайшем будущем и с EVM.

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

Эти проблемы позволяет решить свежая реализация proof-of-capacity (PoC). Знакомые нам аналоги на PoC: Chia, Spacemesh, Filecoin.

Вводим новое понятие - дилемма фермера. Более подробно почитать о проблеме можно тут, но грубый смысл в том, что, невозможно бесконечно хранить бесконечное количество данных. когда-нибудь придётся чем-то пожертвовать: децентрализацией или “качеством” данных.

Subspace считает, что его аналоги вообще не решают дилемму фермера: кто-то слишком централизован, кто-то не умеет в масштабирование, а кто-то вообще файлкойн.

Так как же Subspace решает задачу?

Subspace работает на основе консенсуса proof-of-archive-storage (PoAS) или “доказательство хранения архивной истории блокчейна”.

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

Фермеру не обязательно содержать 2 тонны ссд, чтобы хранить всю историю блокчейна. Фермер может хранить лишь сегмент/ы.

Чем больше фермер выделяет пространства, тем больший шанс он имеет быть выбранным для создания блока.

Работает интересный механизм наград: больше фермеров в сети > дороже транзакция > больше прибыль для фермера. Обусловлено это тем, что новая информация должна храниться на большем количестве дисков.

Вводим ещё одно умное словосочетание: блокчейн-трилемма.

Это термин, придуманный Виталиком Бутериным для описания задачи создания масштабируемого, децентрализованного и безопасного блокчейна, в котором утверждается, что только две из этих трёх функций могут быть одновременно реализованы.

Subspace предлагает следующее решение: разделить консенсус и вычисления.

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

Исполнитель выбирается на основе его доли: больше стейк > чаще избирается для завершения блока > больше награда.

Каждый может стать фермером и собирать блоки, предоставив своё свободное дисковое пространство. Но для того, чтобы подписывать и завершать их нужно быть выбранным исполнителем.

Инвесторы: более $37kk от Coinbase, IOSG, Republic, Crypto.com, Alameda, Pantera, Hypersphere, Bixin, Vendetta, NGC, Gate и других.


Medium | GitHub | WebSite | Twitter | Discord | Telegram | Ru_Telegram

НОДА

Содержание

Требования по железу:

Официальные требования: 4 CPU x 4 GB RAM x 50 GB SSD - Ubuntu 20.04.

Установка

# обновляем 'базу данных', обновляем дистрибутив
sudo apt-get update && sudo apt-get upgrade -y
# скачиваем необходимые зависимости одной командой
sudo apt-get install wget jq ocl-icd-opencl-dev \
libopencl-clang-dev libgomp1 ocl-icd-libopencl1 -y
# скачиваем исполняемые файлы и выводим их версии одной командой
mkdir $HOME/subspace >/dev/null 2>&1 && \
cd $HOME/subspace && \
VER=$(wget -qO- https://api.github.com/repos/subspace/subspace-cli/releases | jq '.[] | select(.prerelease==false) | select(.draft==false) | .html_url' | grep -Eo "v[0-9]*.[0-9]*.[0-9]*" | head -n 1) && \
wget https://github.com/subspace/subspace-cli/releases/download/${VER}/subspace-cli-ubuntu-x86_64-v3-${VER} -qO subspace; \
sudo chmod 777 * && \
if [[ $(./subspace -h) == "" ]]; then
  echo -e "\n\ndat sh*t is broken, ping @cyberomanov.\n\n"
else
  sudo mv * /usr/local/bin/ && \
  echo -e "\n\nrelease >> ${VER}.\n\n"
fi && \
cd $HOME && \
rm -Rvf $HOME/subspace >/dev/null 2>&1

Или

Polkadot wallet

Теперь нам нужен кошелёк. Переходим на дашборд Subspace Gemini 3c и копируем адрес нашего кошелька.

Если по каким-то причинам у вас ещё нет кошелька полькусамы, нужно скачать polkadot.js расширение и сгенерировать кошелёк там.

На этот адрес мы будем фармить TSSC токены, как доказательство участия в тестнете.

Инициализация

# инициализируемся
subspace init
  1. Вводим кошелёк из прошлого пункта;
  2. Вводим желаемый никнейм;
  3. Путь к плотам я оставил по дефолту (просто нажать Enter);
  4. Размер плота выставил 100 GB, но это индивидуально;
  5. Сеть оставил по дефолту (просто нажать Enter).

После данного шага по пути /root/.config/subspace-cli/settings.toml появится конфигурационный файл, который можно отредактировать ручками, если очень хочется:

конфиг может отличаться от версии к версии.

Сервисный файл

# фиксим журнал
sudo tee <<EOF >/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF
# рестартим журнал
sudo systemctl restart systemd-journald
# создаём файл сервиса для запуска ноды
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) farm -v
Restart=always
RestartSec=3
LimitNOFILE=1024000
[Install]
WantedBy=multi-user.target
EOF
# запускаем ноду
sudo systemctl daemon-reload && \
sudo systemctl enable subspaced && \
sudo systemctl restart subspaced
# проверяем логи
sudo journalctl -fu subspaced --no-hostname -o cat

Телеметрия и TSSC

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

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

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

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

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

Вот и всё. Фармим TSSC и ждём окончания инсентивайза стресс-теста.

ПОЛЕЗНЫЕ КОМАНДЫ

Содержание

# пезапуск фармера и ноды
sudo systemctl restart subspaced
# остановка фармера и ноды
sudo systemctl stop subspaced
# проверяем логи
sudo journalctl -fu subspaced --no-hostname -o cat

ОБНОВЛЕНИЕ

Содержание

# останавливаем сервисы ноды и фармера
sudo systemctl stop subspaced
# чистим данные старой сети одной командой
# только, если ушли в форк или хотите начать синхронизацию с нуля
subspace wipe && rm -Rvf $HOME/.local/share/subspace-cli/node/chains/*

Пробегаемся по установке с самого начала.

ПЕРЕНОС И БЭКАП

Содержание

Бэкапа, как такового, нет. Просто устанавливаем ноду на новом сервере, указывая старый адрес для фарма. Вот и всё.

УДАЛЕНИЕ

Содержание

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

Это сработает, если на сервере нет других важных нод. В случае, если вы хотите оставить сервер, но удалить конкретную ноду - приступаем к её удалению:

# останавливаем и отключаем сервис ноды одной командой
sudo systemctl stop subspaced && \
sudo systemctl disable subspaced
# удаляем остаточные файлы
rm -Rvf $HOME/.local/share/subspace* \
$HOME/.config/subspace* \
/usr/local/bin/subspace
# удаляем файл сервиса и перезагружаем демона одной командой
sudo rm -v /etc/systemd/system/subspaced.service && \
sudo systemctl daemon-reload

БЛАГОДАРНОСТИ

Содержание

мамичу за то, что родила такого гения.

ПОЛЕЗНЫЕ РЕСУРСЫ

Содержание

@how_to_node - канал, где я выкладываю свои гайды.

Полезные ресурсы.

Крипто-кошельки автора гайда.