POLKADOT
October 25, 2023

Avail

Web Discord Github Docs Staking Telemetry

Details

Avail это базовый уровень для современных blockchains. С Avail никогда еще не было так просто создавать свои собственные blockchains

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

  • 0.0.0.0:30333 - P2P
  • 127.0.0.1:9933 - RPC
  • 127.0.0.1:9615 - Prometheus

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

# обновляем репозитории
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 libgmp3-dev tar clang bsdmainutils ncdu unzip llvm libudev-dev make protobuf-compiler -y

Установка Ubuntu 22.04

Скачиваем бинарный файл

mkdir -p $HOME/.avail && cd $HOME/.avail
wget https://github.com/availproject/avail/releases/download/v2.2.2.0-rc1/x86_64-ubuntu-2204-avail-node.tar.gz
tar -xvf x86_64-ubuntu-2204-avail-node.tar.gz
mv avail-node /usr/bin/avail
rm -rf x86_64-ubuntu-2204-avail-node.tar.gz

avail --version
# avail 2.1.4-9d88dbf7b4f

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

Важно - если Вы синхронизируетесь с 0, то после завершения синхронизации остановите ноду, удалите флаги reserved-nodes и reserved-only и перезапустите ноду

yourname=<name>
tee /etc/systemd/system/avail.service > /dev/null << EOF
[Unit]
Description=Avail Validator Node
After=network-online.target
StartLimitIntervalSec=0
[Service]
User=$USER
Restart=always
RestartSec=3
LimitNOFILE=65535
ExecStart=/usr/bin/avail \
  --base-path $HOME/.avail/data/ \
  --chain turing \
  --port 30733 \
  --rpc-port 9973 \
  --prometheus-port 9675 \
  --validator \
  --name 'lesnik | UTSA'
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable avail
systemctl restart avail && journalctl -u avail -f -o cat

Теперь наша нода начала синхронизироваться. Мы можем проверить нашу ноду в телеметрии

Важно - телеметрия показывает только 1000 нод. Поэтому Вы можете не видеть свою ноду в телеметрии при наличии больше 1000 нод

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

ВАЖНО - дальнейшие действия следует делать только в том случае, если команда выбрала Вас в качестве валидатора в будущей тестовой сети. Также следует дождаться самой будущей сети для создания валидатора

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

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} - копируем ключ (выделено жирным) он нам понадобится в ближайшее время
  • Переходим на сайт и для начала создаем кошелек stash
  • Для stash настраиваем Set on-chain Identity для идентификации
  • Создаем валидатора. Для этого выбираем Network - Staking - Accounts - Validator

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

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

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

Информация

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

# 

Удалить ноду

systemctl stop avail
systemctl disable avail
rm /etc/systemd/system/avail.service
systemctl daemon-reload
cd
rm -r .avail

Light client

  1. Создаем кошелек в polkadot js и сохраняем mnemonic phrase. Также можно использовать кошелек от валидатора
  2. Пополняем кошелек через дискорд или https://faucet.avail.tools/
  3. Переходим на https://lightclient.availproject.org/ и выполняем задания, чтобы сминтить NFT

Одним из заданий будет запуск Light client

tmux new-session -s avail-LC
curl -sL1 avail.sh | bash

После запуска копируем public key и вставляем на сайт

В конце подписываем транзакцию и получаем возможность поучаствовать в шансе получения NFT. Обращаю внимание, что будет рулетка - не все получат NFT!!!

Поддержим природу вместе: 0xa7476EC14cD663C742d527113638C77a1631Cc89 cosmos1m2mm7kzvw6m3464h94ryqg8xvr6tyeyyecppnq