Aptos
May 15, 2022

Короткая инструкция по Установке Валидаторской и фулл НОДЫ для Incentivized Testnet 1 через Docker & Docker compose (Упрощенная версия, только команды и простые шаги)

Официальная страница сайта Aptos тут

Репозиторий GitHub Aptos тут

Официальная страница сайта Aptos по установке и настройке Ноды тут

Основная информация по ноде тут

Регистрация в Тестнете (Incentivized Testnet 1) тут

График событий Aptos Incentivized (Testnet Roadmap) тут

Системные требования

  • CPU: 4 cores (Intel Xeon Skylake or newer)
  • Memory: 8GiB RAM
  • Storage: 300 GB

УСТАНОВКА

  • обновление пакетов
sudo apt update && sudo apt upgrade -y
  • задаем аргументы для переменных данных
echo "export WORKSPACE=testnet" >> $HOME/.bash_profile
echo "export PUBLIC_IP=$(curl -s ifconfig.me)" >> $HOME/.bash_profile
source $HOME/.bash_profile
  • устанавливаем необходимые утилиты
sudo apt-get install jq unzip -y
  • устанавливаем docker
sudo apt-get install ca-certificates curl gnupg lsb-release -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
  • устанавливаем docker compose
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
sudo chown $USER /var/run/docker.sock
  • устанавливаем Aptos CLI
wget -qO aptos-cli.zip https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-v0.1.1/aptos-cli-0.1.1-Ubuntu-x86_64.zip
unzip -o aptos-cli.zip -d /usr/local/bin
chmod +x /usr/local/bin/aptos
rm aptos-cli.zip

Установка и настройка Валидатора

  • создаем новую директорию
mkdir ~/$WORKSPACE && cd ~/$WORKSPACE
  • загружаем файлы конфигураций (fullnode опционно)
wget -qO docker-compose.yaml https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose.yaml
wget -qO validator.yaml https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/validator.yaml
wget -qO fullnode.yaml https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/fullnode.yaml
  • Генерируем ключи (keys) private-keys.yaml, validator-identity.yaml, validator-full-node-identity.yaml
aptos genesis generate-keys --output-dir ~/$WORKSPACE

ВНИМАНИЕ! сделайте резервную копию файлов ключей в надежном месте. Эти ключевые файлы важны для вас, чтобы установить право собственности на ваш узел, и вы будете использовать эту информацию, чтобы позже получить свои награды, если вы соответствуете требованиям. Никогда не делитесь этими ключами с кем-либо еще.

  • создаем конфигурацию Валидатора (fullnode опционно). aptosbot - можно заменить на любое ваше имя/название (слитно)
aptos genesis set-validator-configuration \
  --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE \
  --username aptosbot \
  --validator-host $PUBLIC_IP:6180 \
  --full-node-host $PUBLIC_IP:6182
  • генерируем root key
mkdir keys
aptos key generate --output-file keys/root
  • создаем layout.yaml (aptosbot заменяем на ваше имя, если меняли название выше в файле генезиса)
tee layout.yaml > /dev/null <<EOF
---
root_key: "0x5243ca72b0766d9e9cbf2debf6153443b01a1e0e6d086c7ea206eaf6f8043956"
users:
  - aptosbot
chain_id: 23
EOF
  • загружаем Aptos Framework
wget -qO framework.zip https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.1.0/framework.zip
unzip -o framework.zip
rm framework.zip
  • Компилируем файлы генезиса
aptos genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE
  • запускаем docker compose
docker compose up -d

УСТАНОВКА ЗАВЕРШЕНА!

  • проверяем логи и работу валидатора (фулл-ноды) командами
docker logs -f testnet-validator-1 --tail 50
docker logs -f testnet-fullnode-1 --tail 50
docker ps

должно быть запущено два контейнера: testnet-validator-1 и testnet-fullnode-1 (статус UP)

  • проверяем статус своей ноды по IP тут

правильный вывод, должен быть таким

  • узнать свой IP можно командой
wget -qO- eth0.me

если два пункта по проверки в порядке, то переходим к регистрации ноды сюда

  • если выскакивают ошибки, попробуйте перезапустить docker compose
docker compose restart
  • проверка статуса синхранизации
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
  • проверить порты
sudo lsof -i -P -n | grep LISTEN
  • для регистрации ноды, вам понадобятся ключи, их можно получить с помощью команды (aptosbot заменяем на ваше имя, если меняли название выше в файле генезиса)
cat ~/$WORKSPACE/aptosbot.yaml

ВНИМАНИЕ! Если заметили какую-то неточность или ошибку, пожалуйста, пишите в личку или оставляйте коммент внизу! Всем добра ;)

Контакты:

Discord: papadritta#9980
Telegram: @papadritta
Medium: @papadritta
Twitter: @papadritta