Joystream
Web Discord Github Launch-process Wallet Telemetry
Используемые порты:
# для первой ноды --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
Перенос валидатора
- Запускаем ноду на новом сервере как обычно и полностью синхронизируемся
- После синхронизации на новом сервере запускаем команду и копируем новый ключ
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933
- Переходим в 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*