APTOS AIT3 (FullNode)
FullNode ставиться на отдельный сервер от ноды валидатора!!! Подразумевается, что нода валидатора уже запущена
Новая установка
# обновляем репозитории apt update && apt upgrade -y # устанавливаем необходимые утилиты apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
Устанавливаем docker + docker-compose
# https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-ru apt update && \ apt install apt-transport-https ca-certificates curl software-properties-common -y && \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && \ apt update && \ apt-cache policy docker-ce && \ sudo apt install docker-ce -y && \ docker --version
# ручная установка docker-compose https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04-ru # проверяем версию https://github.com/docker/compose/releases и подставляем в команду установки curl -L "https://github.com/docker/compose/releases/download/v2.10.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose # проверить версию docker-compose --version
Создаем каталог и переходим в него
WORKSPACE=aptos-fullnode mkdir ~/$WORKSPACE cd ~/$WORKSPACE
wget -qO genesis.blob "https://github.com/aptos-labs/aptos-ait3/raw/main/genesis.blob" wget -qO waypoint.txt "https://raw.githubusercontent.com/aptos-labs/aptos-ait3/main/waypoint.txt" wget -qO docker-compose.yaml "https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose-fullnode.yaml" wget -qO fullnode.yaml "https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/fullnode.yaml"
Меняем тег образа в docker-compose.yaml
# nano $HOME/$WORKSPACE/docker-compose.yaml image: "aptoslabs/validator:testnet_18b8c628ea9424fe3cb03e2f65172ecef7ca678c"
ОПЦИОНАЛЬНО - ИЗМЕНИТЬ РАЗМЕР ЗАНИМАЕМОГО МЕСТА ЛОГ ФАЙЛА
# для ограничения размера лога, в docker-compose.yaml прописать # nano $HOME/$WORKSPACE/docker-compose.yaml logging: options: max-file: "3" max-size: "100m"
В файле fullnode.yaml вписываем ip адрес Вашего валидатора
nano $HOME/$WORKSPACE/fullnode.yaml
Копируем с сервера ноды validator файл $HOME/$WORKSPACE/keys/validator-full-node-identity.yaml
в аналогичную папку на сервере fullnode
docker-compose up -d
docker-compose logs -f --tail 100
# проверяем синхронизацию curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_state_sync_version{.*\"synced\"}" | awk '{print $2}' # проверяем высоту сети curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_state_sync_version" # проверяем пиры. Должно быть больше 0 curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_connections{direction=\"outbound\""
Теперь на сервере валидатора (не на этом сервере) обновляем информацию о Вашей фулноде
# full-node-network-public-key берем из keys/public-keys.yaml aptos node update-validator-network-addresses \ --pool-address <owner-address> \ --operator-config-file ~/$WORKSPACE/$NODENAME/operator.yaml \ --profile ait3-operator \ --full-node-host <fullnode-host:6182> \ --full-node-network-public-key <fullnode-public-key>
Проверка FullNode
После того, как fullnode синхронизировалась можно проверить ее с помощью nhc чекера aptos, заменив <your_ip> на ip fullnode и заменив порт 80 на свой, если меняли
curl 'https://node-checker.prod.gcp.aptosdev.com/check_node?node_url=http://<your_ip>&api_port=80&baseline_configuration_name=ait3_vfn' | jq
В конце проверки должны увидеть "summary_explanation":"100: Awesome!"
cd ~/$WORKSPACE # рестарт ноды docker-compose restart # остановить ноду docker-compose stop # Остановить ноду и удалить тома данных docker-compose down -v # также можем удалить .aptos cd $HOME rm -rf aptos-fullnode