Гайд по установке Aptos(Incentivized testnet) Docker +Aptos CLI
Гайд сделан на основе официальной документации https://aptos.dev/tutorials/validator-node/run-validator-node-using-docker. Обращаю внимание, что с 17 числа вышло обновление, где необходимо ставить FullNode на отдельный сервер. Т.е FullNode и ValitorNode СТОЯТ НА РАЗНЫХ СЕРВЕРАХ! FullNode ставить НЕОБЯЗАТЕЛЬНО!
Подготовка
$ sudo apt update && apt upgrade -y
$ 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-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker version
Если ошибок нет и вы видите ### Client: Docker Engine - Community....и куча всего остального, то всё гуд.
2.Устанавливаем Docker Compose
$ 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
$ chmod +x ~/.docker/cli-plugins/docker-compose
$ sudo chown $USER /var/run/docker.sock
Проверяем версию docker compose
$ docker compose version
Если всё правильно, то будет : ### Docker Compose version v2.5.0
$ curl https://sh.rustup.rs -sSf | sh
В процессе установки выбираем Proceed with installation (default) - пишем цифру 1
$ source $HOME/.cargo/env
$ cargo install --git https://github.com/aptos-labs/aptos-core.git aptos --tag aptos-cli-latest
UPDATE: Если есть ошибка, то пробуем так:
$ apt install unzip
$ 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 aptos-cli.zip -d /usr/local/bin
$ chmod +x /usr/local/bin/aptos
$ export aptos=testnet $ mkdir $HOME/aptos $ cd $HOME/aptos
Установка ValidatorNode
1.Загружаем файлы validator.yaml, fullnode.yaml и docker-compose.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
$ aptos genesis generate-keys --output-dir ~/aptos
Ключи можно посмотреть командами
$ cat private-keys.yaml
$ cat validator-identity.yaml
$ cat docker-compose.yaml
Из всех нам понадобиться только docker-compose.yaml
3.Настраиваем информацию валидатора - все данные берем из docker-compose.yaml. FullNode IP заносим только после того, как поставили её на другом сервере.
$ aptos genesis set-validator-configuration \ --keys-dir ~/aptos --local-repository-dir ~/aptos \ --username <Твой USERNAME> \ --validator-host <ТВОЙ IP СЕРВЕРА ValidatorNode>:6180 \ --full-node-host <ТВОЙ IP СЕРВЕРА FullNode>1:6182
После этого в папке должен появиться новый файл с именем <Твой USERNAME>.yaml
$ nano layout.yaml
# меняя при этом на свой юзернейм из 5 шага root_key: "0x5243ca72b0766d9e9cbf2debf6153443b01a1e0e6d086c7ea206eaf6f8043956" users: - <ТВОЙ USERNAME> chain_id: 23
$ wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.1.0/framework.zip
$ unzip framework.zip
6.Компилим генезис blob и waitpoint
$ aptos genesis generate-genesis --local-repository-dir ~/aptos --output-dir ~/aptos
После этого у вас будет 2 новых файла blob.txt и waitpoint.txt
Перед запуском у вас должен быть список файлов:
validator.yaml
docker-compose.yaml
private-keys.yaml
validator-identity.yaml
validator-full-node-identity.yaml
<USERNAME>.yaml
layout.yaml
framework
папкаwaypoint.txt
genesis.blob
docker compose up -d
Проверить статус синхронизации
$ curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version
$ docker logs -f --tail 100 aptos-validator-1
Устанавливаем FullNode
1.Загружаем в директорию Aptos файлы fullnode.yaml и docker-compose-fullnode.yaml
$ wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose-fullnode.yaml $ wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/fullnode.yaml
2.Редактируем файл fullnode.yaml и вставляем в строку с ip validator свой ip серверва, на котором стоит нода валидатора.
$ nano fullnode.yaml
Вот в этой строке меняем IP своего валиадтора # addresses: # - "/ip4/<Validator IP Address>/tcp/6181/ln-noise-ik/......../ln-handshake/0" # role: "Validator"
3.(НЕОБЯЗАТЕЛЬНО)Перместите из ValidtorNode в FullNode файлы validator-full-node-identity.yaml, genesis.blob и waypoint.txt
$ docker-compose up -f docker-compose-fullnode.yaml
$ docker logs -f testnet-fullnode-1 --tail 100
Также можно всё проверить на сайте https://aptos-node.info/ - вставив, свой ip сервера
13.После чего проходим регистрацию на https://community.aptoslabs.com/it1
И начинаем проходить сначала верификацию ноды(данные для заполнения берем из файла, который создали на 3ом шаге в ValidatorNode "<USERNAME>.yaml", а затем верификацию по документам.
$ docker compose restart
$ docker compose down
$ docker compose down -v $ rm -rf $HOME/aptos
P.S все команды осуществляются из папки aptos
$ cd $HOME/aptos