POLKADOT
November 11, 2022

Joystream

Web Discord Github Launch-process Wallet Telemetry

Используемые порты:

  • 0.0.0.0:30333
  • 127.0.0.1:9933
  • 127.0.0.1:9615
  • 127.0.0.1:9944
# для первой ноды
--port 30333 \ #RPC
--ws-port 9944 \
--rpc-port 9933 \
--prometheus-port 9615 \ #Prometeus

# для ВТОРОЙ ноды
--port 30533 \ #RPC
--ws-port 9954 \
--rpc-port 9953 \
--prometheus-port 9655 \ #Prometeus

Подготовка сервера

# обновляем репозитории
apt update && apt upgrade -y

# устанавливаем необходимые утилиты
apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

Новая установка ноды

ВАЖНО — в командах ниже все, что в <> меняем на свое значение и убираем сами <>

Устанавливаем бинарники

mkdir ~/bin && cd ~/bin
wget https://github.com/Joystream/joystream/releases/download/v12.2002.0/joystream-node-8.5.0-04af90e4e82-x86_64-linux-gnu.tar.gz
wget https://github.com/Joystream/joystream/releases/download/v12.1000.0/joy-mainnet.json
tar -vxf joystream-node-8.5.0-04af90e4e82-x86_64-linux-gnu.tar.gz

./joystream-node --version
# joystream-node 8.5.0-04af90e4e82-docker-build-315e7bba1194498b4b2cd8fd96ebec41ddd1d79d

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

nano /etc/systemd/system/joystream-node.service
[Unit]
Description=Joystream Node
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/bin/
ExecStart=/root/bin/joystream-node \
        --chain /root/bin/joy-mainnet.json \
        --pruning archive \
        --validator \
        --name "<MONIKER>"
Restart=on-failure
RestartSec=3
LimitNOFILE=10000

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable joystream-node
systemctl restart joystream-node && journalctl -u joystream-node -f -o cat

Теперь наша нода начала синхронизироваться - это займет несколько часов, вы можете узнать что она синхронизировалась посмотрев на блоки best и finalized - они должны быть одинаковые. Также можно проверить свою ноду на сайте polkadot

Настройка валидатора

После того как нода синхронизировалась вытаскиваем ключ из нашей ноды введя команду

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933
Если получили подобный результат, то все замечательно {"jsonrpc":"2.0","result":"0xa0very0long0hex0string","id":1} - копируем ключ (выделено жирным) он нам понадобится в ближайшее время
# проверяем создались ли 4 ключа
ls -a ~/.local/share/joystream-node/chains/joy_mainnet/keystore

Не забываем сохранить ключи!!!

Переходим на сайт и выбираем Network - Staking - Accounts - Validator

Выбираем аккаунты stash и controller, сумму стейка и нажимаем next

Далее вставляем наш ключ полученный с ноды валидатора, выбираем процент комиссионного вознаграждения (можно поставить от 0 до 100, но чем меньше значение, тем больше шансов получить его) и подписываем транзакцию

Как только освободится место среди валидаторов, вы появитесь во вкладке Staking Overview, а пока можете себя найти на вкладке Waiting

Перенос валидатора

  1. Запускаем ноду на новом сервере как обычно и полностью синхронизируемся
  2. После синхронизации на новом сервере запускаем команду и копируем новый ключ curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933
  3. Переходим в Network - Accounts - Change session keys и меняем наш ключ. Подписываем транзакцию

Ждем окончания эпохи

После окончания эпохи останавливаем старую ноду

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

Информация

# просмотреть логи
journalctl -u joystream-node -f -o cat

# 

Удалить ноду

systemctl stop joystream-node && \
systemctl disable joystream-node && \
rm /etc/systemd/system/joystream-node.service && \
systemctl daemon-reload && \
rm -rf $HOME/.local/share/joystream-node/ && \
cd $HOME/bin && \
rm joy*
Поддержим природу вместе: 0xa7476EC14cD663C742d527113638C77a1631Cc89 cosmos1m2mm7kzvw6m3464h94ryqg8xvr6tyeyyecppnq