Ноды
May 15, 2022

Гайд по установке ноды Aptos

ВСЯ УСТАНОВКА ПРОВОДИЛАСЬ НА Linux Ubuntu 20.04

Минимальные системные требования: - CPU: 4 CORE - RAM: 4 GB - SSD: 160 GB

Установка ( Docker )

Данный способ будет работать только если ваш процессор поддерживает axv2. Пропишите эту команду

sudo cat /proc/cpuinfo | grep avx

Если в полученном списке вы увидите axv2, то можете продолжать установку этим способом, если нет, то переходите к 2 способу.

1. Обновляем OS и устанавливаем вспомогательные библиотеки

sudo apt update && sudo apt upgrade -y && sudo apt install wget -y && sudo apt install unzip

2. Устанавливаем docker

sudo apt install ca-certificates curl gnupg lsb-release wget jq sed -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 update && sudo apt install docker-ce docker-ce-cli containerd.io -y

3. Устанавливаем docker-compose

sudo mkdir -p ~/.docker/cli-plugins/ && curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose && sudo chmod +x ~/.docker/cli-plugins/docker-compose

4. Устанавливаем aptos-cli

cd ~/ && wget -O 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 && sudo rm aptos-cli.zip && sudo mv aptos /usr/local/bin/ && sudo chmod -R +x /usr/local/bin/aptos

5. Создаем директорию и скачиваем конфигурационные файлы

export WORKSPACE=aptos-testnet && mkdir ~/$WORKSPACE && cd ~/$WORKSPACE
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

6. Генерируем ключи

aptos genesis generate-keys --output-dir ~/$WORKSPACE

7. Настраиваем информацию о валидаторе

Устанавливаем название ноды

APTOS_NODE_NAME="Здесь указываем название ноды. Пример: Name123"

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

APTOS_NODE_HOST=$(curl ifconfig.me)

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

aptos genesis set-validator-configuration \
    --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE \
    --username $APTOS_NODE_NAME \
    --validator-host $APTOS_NODE_HOST:6180 \
    --full-node-host $APTOS_NODE_HOST:6182

8. Создаем yml файл для валидатора

Генерируем ключ

aptos key generate --output-file ~/$WORKSPACE/root_key.txt

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

APTOS_ROOT_KEY="0x"$(cat ~/$WORKSPACE/root_key.txt.pub)

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

echo "---
root_key: \"$APTOS_ROOT_KEY\"
users:
  - $APTOS_NODE_NAME
chain_id: 23" >~/$WORKSPACE/layout.yaml

9. Устанавливаем AptosFramework

wget -O ~/$WORKSPACE/framework.zip https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.1.0/framework.zip && unzip -o ~/$WORKSPACE/framework.zip && sudo rm ~/$WORKSPACE/framework.zip

10. Компилируем

aptos genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE

11. Запускаем ноду

cd ~/$WORKSPACE && docker compose up -d
  • Проверка логов
docker logs -f --tail 100 aptos-testnet-validator-1
curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version
  • Рестарт ноды
cd ~/$WORKSPACE && docker compose restart
  • Удаление ноды
cd ~/$WORKSPACE && docker compose down -v && sudo rm -rf ~/$WORKSPACE && sudo rm /usr/local/bin/aptos

Установка ( Cargo )

1. Обновляем OS и устанавливаем вспомогательные библиотеки

sudo apt update && sudo apt upgrade -y && sudo apt install wget -y && sudo apt install unzip && sudo apt install screen -y && sudo apt install git -y

2. Устанавливаем aptos-cli

cd ~/ && wget -O 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 && sudo rm aptos-cli.zip && sudo mv aptos /usr/local/bin/ && sudo chmod -R +x /usr/local/bin/aptos

3. Устанавливаем aptos-core

Запускаем screen ( Установка займет много времени )

screen -S aptos-install
cd ~/ && git clone https://github.com/aptos-labs/aptos-core.git aptos-core && cd aptos-core && echo y| ./scripts/dev_setup.sh && source ~/.cargo/env

4. Создаем директорию и генерируем ключи ( Займет много времени )

export WORKSPACE=aptos-testnet && mkdir ~/$WORKSPACE && cd ~/aptos-core && cargo run --release -p aptos -- genesis generate-keys --output-dir ~/$WORKSPACE

5. Настраиваем информацию о валидаторе

Устанавливаем название ноды

APTOS_NODE_NAME="Здесь указываем название ноды. Пример: Name123"

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

APTOS_NODE_HOST=$(curl ifconfig.me)

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

cd ~/aptos-core && cargo run --release -p aptos -- genesis set-validator-configuration \
    --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE \
    --username $APTOS_NODE_NAME \
    --validator-host $APTOS_NODE_HOST:6180 \
    --full-node-host $APTOS_NODE_HOST:6182

6. Создаем yml файл для валидатора

Генерируем ключ

cargo run -p aptos -- key generate --output-file ~/$WORKSPACE/root_key.txt

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

APTOS_ROOT_KEY="0x"$(cat ~/$WORKSPACE/root_key.txt.pub)

Прописываем ( НИЧЕГО НЕ ИЗМЕНЯЯ )

echo "---
root_key: \"$APTOS_ROOT_KEY\"
users:
  - $APTOS_NODE_NAME
chain_id: 23" >~/$WORKSPACE/layout.yaml

7. Устанавливаем AptosFramework

cargo run --release --package framework -- --package aptos-framework --output current && mkdir ~/$WORKSPACE/framework && mv aptos-framework/releases/artifacts/current/build/**/bytecode_modules/*.mv ~/$WORKSPACE/framework/

8. Компилируем

cargo run --release -p aptos -- genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE

После окончания закрываем screen

screen -S aptos-install -X quit

9. Переносим validator.yaml и fullnode.yaml

cp docker/compose/aptos-node/validator.yaml ~/$WORKSPACE/validator.yaml && cp docker/compose/aptos-node/fullnode.yaml ~/$WORKSPACE/fullnode.yaml

10. Запускаем ноду

Запускаем скрин для валидатора

screen -S aptos-validator

Запускаем валидатор

cargo run -p aptos-node --release -- -f ~/$WORKSPACE/validator.yaml

Выходим со скрина, нажав ctrl + a, затем ctrl + d

Запускаем скрин для ноды

screen -S aptos-node

Запускаем ноду

cargo run -p aptos-node --release -- -f ~/$WORKSPACE/fullnode.yaml

Выходим со скрина, нажав ctrl + a, затем ctrl + d

  • Проверка логов
screen -r aptos-node
screen -r aptos-validator
  • Рестарт ноды

Для того, чтобы перезапустить валидатор заходим в скрин валидатор

screen -r aptos-validator

Нажимаем ctrl + c, чтобы закрыть валидатор если он запущен

Повторяем этап запуска валидатора

Теперь заходим в скрин ноды

screen -r aptos-node

Нажимаем ctrl + c, чтобы закрыть ноду если она запущена

Повторяем этап запуска ноды

Важно

1. После установки ноды нужно сделать бекап директории root/aptos-testnet. Сделать это можно через любой файловый менеджер: FileZilla, WinSCP и т.д. Делать бекап целой директории необязательно, достаточно 3 файлов:
private-keys.yaml validator-identity.yaml validator-full-node-identity.yaml

2. Подаём зявку на тестнет ( Актуально до 21 мая 01:00 )
Для того, чтобы вывести всю информацию о ноде, которую вам нужно указать при заполнении, пропишите

cat ~/$WORKSPACE/$APTOS_NODE_NAME.yaml

Реквизиты

Telegram: https://t.me/IdleX

Discord: Idle#4253

Наш telegram канал: https://t.me/+XFtcfo9CtlNmMmEy