Aptos Node guide 🟢
Уровень сложности: обычный
🐲 Введение
Привет. Хотим окунуть вас в мир приятных криптовалютных гемов и начнём с поддержки нод.
Если вы не знаете, что такое ноды рекомендуем вам посмотреть это видео.
Для тех кто уже знаком с нодами, хотим познакомить вас с возможным гем проектом Aptos.
Aptos - блокчейн Layer первого уровня. Его ещё называют, самый быстрый масштабируемый блокчейн и обещают около 150к TPS. В этот проект инвестировали более 200 млн$ и сейчас этот проект на хайпе и мы подумали почему бы не рассказать вам об этом проекте. И вот-вот в ближайшее время обещают оплачиваемый тестнет (надо успеть поставить ноду и начать лутать бабки)
Discord проекта: https://discord.com/invite/tuDs9TmWwv
Telegram проекта: https://t.me/aptoslabs
Twitter проекта: https://twitter.com/aptoslabs
🏆 Награды
Команда обещает во втором квартале 2022 года оплачиваемый TESTNET. Выход на продакшн - третьем квартале 2022 года. Гарантий на попадание в оплачиваемый TESTNET нет.
📦 Хостинг
Чтобы начать держать ноду, нужен хостинг. Если вы уже знакомы с этим понятием, то можете пропускать и приступать к установке ноды через SSH. Если не знаете, welcome читать этот раздел.
Я арендую сервер здесь. Если вам не по душе российские хостинг провайдеры, можете взять на ovh.ie, contabo.com (если вы из России и у вас нет способа оплатить через иностранные карты, то берите на BitLaunch оплата через крипту)
Минимальные системные требования:
CPU: 2 CORE
RAM: 4 GB
SSD: 40 GB
OS: Ubuntu 20.04.4 LTS
Если ваша нода выйдет на продакшн рекомендуем взять сервер в x2 больше этих параметров. (чтобы дальше лутать бабки)
🐳 Заказ сервера через reg.ru
Зарегистрируйтесь на сайте и перейдите к заказу облачного сервиса.
Затем подберите подходящий для себя тариф, я выбрал этот:
После этого пополните баланс и оплатите счёт. (Думаю вы сможете разобраться как оплатить)
🔑 Подключение к серверу
Если вы арендовали сервер на REG.RU вам должно прийти подобное письмо на почту.
Вы создали сервер «Test» с Ubuntu 20.04 LTS, IP-адрес 123.123.123.123 Доступ к серверу Логин: root Пароль: abcd1234
Сохраните это данные, они вам пригодятся.
Подключение через Windows/MacOS
Зайдите в терминал
- В Windows это через пуск и написав слово cmd.
- В MacOS в Spotlight (поиск) написав слово Terminal.
Когда вы запустили терминал необходимо ввести команду.
ssh логин@вашIPадрес
Напишите yes. И введите пароль. Пароль показываться не будет.
Если вы хотите вставить скопированный пароль, то
- для Windows нужно нажать на правую кнопку мышки в терминале и нажмите ENTER.
- для MacOS нажмите на CMD+V и нажмите ENTER
Когда вы присоединились к серверу через консоль можете переходить к установке ноды.
🌐 Установка ноды
Мы предлагаем простой способ установки ноды одной команды через Docker.
Вводим команду (обновляем пакеты в Ubuntu)
sudo apt-get update
Затем прописываем эту команду (устанавливаем и запускаем скрипт aptos.sh)
wget -q -O aptos.sh https://api.zvalid.com/aptos.sh && chmod +x aptos.sh && sudo /bin/bash aptos.sh
Примерное время установки 3-7 минут.
После этого вы получите в консоли private key и peer id - сохраните их.
Если в консоли не нашли этих данных, то используйте эти команды:
cat $HOME/aptos/identity/private-key.txt
cat $HOME/aptos/identity/peer-info.yaml
🔴 Обязательно нужно обновить ноду на актуальную версию. (даже после первой установки) 🔴
wget -q -O aptos_update.sh https://api.zvalid.com/aptos_update.sh && chmod +x aptos_update.sh && sudo /bin/bash aptos_update.sh
♻️ Проверка работоспособности ноды
Проверить работу своей ноды можно на сайте.
Вводим свой IP в поле Node IP or Domain и нажимаем кнопку Check
Если у вас выдаётся такая надпись, значит вы правильно установили ноду.
Ledger Time сначала может быть красным. Это нормально, ноде нужно синхронизироваться, дайте ей время. Более детальную информацию о работе ноды можно узнать командой
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
При нормальной синхронизации у вас должно показываться +- одинаковые числа в aptos_state_sync_version
Мы также рекомендуем заполнить после установки ноды эту форму.
📕 Полезные команды
Если возникают проблемы с синхронизацией, введите данную команду:
p.s Нода автоматически перезапустится. Данную команду можно вводить когда угодно.
wget -q -O aptos_renew_seeds.sh https://api.zvalid.com/aptos_renew_seeds.sh && chmod +x aptos_renew_seeds.sh && sudo /bin/bash aptos_renew_seeds.sh
Посмотреть логи
cd $HOME/aptos
docker compose logs -f --tail 1000
Запустить ноду
cd $HOME/aptos
docker compose start
Остановить ноду
cd $HOME/aptos
docker compose stop
Когда придёт время обновить ноду, используйте данную команду:
wget -q -O aptos_update.sh https://api.zvalid.com/aptos_update.sh && chmod +x aptos_update.sh && sudo /bin/bash aptos_update.sh
🔴 Обновление APTOS (15 апреля)
Если ваша нода не синхронизирована и данная команда не помогает:
wget -q -O aptos_update.sh https://api.zvalid.com/aptos_update.sh && chmod +x aptos_update.sh && sudo /bin/bash aptos_update.sh
На данный момент написании этой статьи - пустой скрипт, поэтому предлагаем вручную обновить ноду. (Перед этими манипуляциями обязательно сделайте бэкап (резервное копирование файлов) ноды. Или хотя бы сохраните приватный ключ и peer id если ещё не сделали это)
Вводим команды все вместе, копируя блок кода.
Остановка докер контейнера и обновление докер образа
cd $HOME/aptos
sudo docker compose down -v
sudo docker pull aptoslab/validator:devnet
wget -P $HOME/aptos https://api.zvalid.com/aptos/seeds.yaml &> /dev/null
/usr/local/bin/yq ea -i 'select(fileIndex==0).full_node_networks[0].seeds = select(fileIndex==1).seeds | select(fileIndex==0)' $HOME/aptos/public_full_node.yaml $HOME/aptos/seeds.yaml
rm $HOME/aptos/seeds.yaml
rm $HOME/aptos/genesis.blob
wget -P $HOME/aptos https://devnet.aptoslabs.com/genesis.blob
rm $HOME/aptos/waypoint.txt
wget -P $HOME/aptos https://devnet.aptoslabs.com/waypoint.txt
Установка новых waypoint параметров (не совсем понял зачем это нужно, но сделал)
sed -i.bak 's/\(from_config: \).*/\1"'$(cat $HOME/aptos/waypoint.txt)'"/g' $HOME/aptos/public_full_node.yaml
Загружаем ноду (запускаем докер контейнер)
sudo docker compose up -d
После этого проверяем синхронизацию ноду, если цифры +- одинаково выглядят после полной синхронизации - значит всё ок ✅
Также не забывайте проверять логи, на корректность пиров
docker logs -f aptos-fullnode-1 --tail 5000
Если у вас проблемы с пирами, предлагаю их вылечить: https://t.me/icodragondev_chat/2213
👨🏻💻 О авторе
Написал статью @icodragon. Если у вас возникнут вопросы вы можете задать их в нашем паблике @icodragondev
P.S Если у вас есть предложения к доработке статье, пишите мне в лс