Incentivized testnet Aptos
ШАГ 1
Нам нужно взять в аренду сервер, на нем мы будем поднимать ноду.
Существует много различных сервисов, для примера покажу сервис Vultr, если зарегистрируетесь по этой ссылке получите 100$ на счет, при условии что пополните на 10-15$,по желанию выбирайте любой другой сервис принцип везде один, я же покажу на примере этого сервиса.
- Регистрируемся по ссылке
- Пополняем баланс
- Берем в аренду сервис (об этом поподробнее)
Нажимаем на вкладку PRODUCTS далее жмем на DEPLOY SERVER
Далее нам нужно выбрать характеристики сервера
Смотрим в руководство APTOS DEVELOPER NETWORK тут
Видим что основные характеристики:
Подбираем подходящий нам сервер (постараемся сэкономить, думаю сильно не отразится на производительности):
Choose Server
CPU & Storage Technology
Server Location
Тут выбираем любой кроме USA, на цену это не влияет (я выбрал Южную Корею)
Server Image
Операционную систему выбираем UBUNTU 20.04 LTS x64
Server Size
"Мы рекомендуем узлам иметь не менее 300 ГБ дискового пространства, чтобы обеспечить достаточное пространство для хранения данных для нагрузочного тестирования. У вас есть возможность начать с меньшего размера и настроить его в соответствии с требованиями. Вы будете нести ответственность за мониторинг использования диска вашего узла и соответствующую настройку для обеспечения бесперебойной работы узла."
Поэтому я выберу что то среднее:
Add Auto Backups
Это резервное восстановление, я его отключу для экономии, но если вас это волнует можете оставить
Additional Features
Тут оставляем одну галочку Enable IPv6
Пока настраивается сервер нам нужна программа чтобы подключится к нему
я пользуюсь WinSCP, скачать можете тут.
Ни чего сложно там нет обычная установка.
После установки открываем клиент и видим такое окно:
Создаем новую сессию, два клика сюда
Возвращаемся VULTR и смотрим данные сервера
Копируем и вставляем данные в следующей последовательности
После входа, жмем сюда для открытии командной строки
Вводим пароль из данных сервера который вводили при входе
ВНИМАНИЕ!!! Вставить тут работает немного по-другому ни как мы привыкли CTRC+V, вставляется тут правой кнопкой мыши. (после того как вставите пароль значения вы не увидите, поэтому ваши действия скопировали пароль-вставили правой кнопкой мыши-нажали ENTER)
Если все сделали правильно все поздравляю на сервер вы вошли)
Устанавливаем валидатора и fullnode
Подготовим среду для установки валидатора и фуллноды
iptables -I INPUT -p tcp --dport 6180 -j ACCEPT iptables -I INPUT -p tcp --dport 6182 -j ACCEPT iptables -I INPUT -p tcp --dport 9101 -j ACCEPT iptables -I INPUT -p tcp --dport 80 -j ACCEPT iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
sudo apt update && sudo apt upgrade && \ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common wget unzip
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
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
docker version && docker compose version
Устанавливаем aptos-cli
Имя можете заменить на свое, в моем случае GHIDORAH
export APTOS_DIR=$HOME/.aptos-testnet export APTOS_VERSION=0.1.1 export APTOS_NAME=GHIDORAH
cd $HOME && mkdir $APTOS_DIR && cd $APTOS_DIR &&\ wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-v0.1.1/aptos-cli-$APTOS_VERSION-Ubuntu-x86_64.zip && \ unzip aptos-cli-$APTOS_VERSION-Ubuntu-x86_64.zip && \ rm aptos-cli-$APTOS_VERSION-Ubuntu-x86_64.zip && \ sudo mv aptos /usr/local/bin && \ aptos --version
На выходе должна быть версия aptos 0.1.1
Генерируем ключи для тестнета
cd $APTOS_DIR &&\ aptos genesis generate-keys --output-dir $APTOS_DIR
В результате в папке будут три файла validator-identity.yaml, private-keys.yaml и validator-full-node-identity.yaml
Устанавливаем конфигурацию валидатора
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose.yaml && \ wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/validator.yaml && \ wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/fullnode.yaml
aptos genesis set-validator-configuration \ --keys-dir $APTOS_DIR --local-repository-dir $APTOS_DIR \ --username $APTOS_NAME \ --validator-host $(curl -s ifconfig.me):6180 \ --full-node-host $(curl -s ifconfig.me):6182
cat $APTOS_NAME.yaml
В данном случае валидатор будет работать на порту 6180, а нода на порту 6182
nano layout.yaml
root_key можно оставить как в примере, это пока не важно.
Имя GHIDORAH нужно заменить на имя которое вы указали ранее
---
root_key: "0x5243ca72b0766d9e9cbf2debf6153443b01a1e0e6d086c7ea206eaf6f8043956"
users:
- GHIDORAH
chain_id: 23
Загружаем фрэймворк:
wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.1.0/framework.zip && \ unzip framework.zip && \ rm framework.zip
Компилируем генезис:
aptos genesis generate-genesis --local-repository-dir $APTOS_DIR --output-dir $APTOS_DIR
На выходе получим два файла genesis.blob и waypoint.txt
sudo ufw allow 8080 && \ sudo ufw allow 9101 && \ sudo ufw allow 6180 && \ sudo ufw allow 6182
Запускаем ноду
docker compose up -d
Итого у вас в папке должны быть следующие файлы:
validator.yaml
конфиг валидатораfullnode.yaml
конфиг нодыdocker-compose.yaml
docker compose файл для запуска ноды и валидатораprivate-keys.yaml
ключи для аккаунта, консенсуса, нетворкингаvalidator-identity.yaml
ключи для id валидатораvalidator-full-node-identity.yaml
ключи для id ноды<username>.yaml
полная информация по ноде/валидаторуlayout.yaml
лэйаут файлframework
папка с фрэймворкомwaypoint.txt
waypoint файлgenesis.blob
genesis файл
Несколько команд для удобства:
docker logs -f --tail 100 aptos-testnet-fullnode-1
docker logs -f --tail 100 aptos-testnet-validator-1
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
cd .aptos-testnet docker compose restart
cd .aptos-testnet cat $APTOS_NAME.yaml
Тут удобно проверять статус ноды:
Здесь https://aptos-node.info/ очень удобно смотреть статус своего узла, пока SYNC должен быть розовым.
Если все сделали првильно все должно выглядеть вот так:
При проверке статуса ноды командой
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
Первое значение всегда отстает или равно 0, не переживайте это нормально.
Для мониторинга можно пользоваться Телеграм ботом от @NodesGuru
Регистрируемся на сайте
Переходим на сайт https://community.aptoslabs.com/
Выбираем Signup for testnet, и через что будем регистрироваться: дискорд или гитхаб аккаунт.
Далее вводим свою почту и переходим по ссылке пришедшей на почту.
Затем нажимаем Register и заполняем свои данные из файла <Имя ноды>.yaml
<Имя ноды>.yaml фаил находится в папке aptos-testnet, если не можете найти посмотрите наше видео.
Нажимаем Validate Node и проходим KYC
Если всё успешно, то остаётся ждать 23 мая для подтверждения регистрации.