Использование Docker

ДЛЯ ВАЛИДАТОРА ПОЛНОЙ НОДЫ Используйте fullnode.yaml для запуска валидатора полной ноды. Смотрите Шаг 11.

  1. Установите Docker и Docker-Compose, Aptos CLI 0.3.1.

ПРИМЕЧАНИЕ ОТНОСИТЕЛЬНО APPLE M1 Docker был протестирован только на Linux, Windows и Intel macOS. Если вы работаете на macOS M1, используйте исходный код Aptos-core.

2. Создайте каталог для состава ноды Aptos и выберите имя пользователя для вашей ноды. Например.

export WORKSPACE=testnet
export USERNAME=alice
mkdir ~/$WORKSPACE
cd ~/$WORKSPACE

3. Загрузите файлы конфигурации validator.yaml, docker-compose.yaml, haproxy.cfg и blocked.ips в эту папку.

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/haproxy.cfg
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/blocked.ips

4. Сгенерируйте пары ключей (владелец ноды, голосующий, ключ оператора, ключ консенсуса и ключ сети) в своем рабочем каталоге.

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

Это создаст 4 файла ключей в каталоге ~/$WORKSPACE/keys:

  • public-keys.yaml

  • private-keys.yaml

  • validator-identity.yaml, и

  • validator-full-node-identity.yaml.

ВАЖНО Сохраните файлы закрытых ключей в безопасном месте. Эти файлы ключей важны для установления права собственности на вашу ноду. Никогда и никому не передавайте закрытые ключи.

5. Настройте информацию о валидаторе. Вам необходимо установить статический IP / DNS адрес (DNS гораздо предпочтительнее), который может использоваться нодой, и убедиться, что сеть / брандмауэры правильно настроены для приема внешних соединений. Как это сделать, смотрите в разделе Сетевая идентификация для полной ноды.

Эта информация понадобится вам для последующей регистрации на сайте сообщества Аптос.

ПОДСКАЗКА Флаг --full-node-host является необязательным.

cd ~/$WORKSPACE
aptos genesis set-validator-configuration \
    --local-repository-dir ~/$WORKSPACE \
    --username $USERNAME \
    --owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
    --validator-host <validator node IP / DNS address>:<Port> \
    --full-node-host <Full Node IP / DNS address>:<Port> \
    --stake-amount 100000000000000

# for example, with IP:

aptos genesis set-validator-configuration \
    --local-repository-dir ~/$WORKSPACE \
    --username $USERNAME \
    --owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
    --validator-host 35.232.235.205:6180 \
    --full-node-host 34.135.169.144:6182 \
    --stake-amount 100000000000000

# For example, with DNS:

aptos genesis set-validator-configuration \
    --local-repository-dir ~/$WORKSPACE \
    --username $USERNAME \
    --owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
    --validator-host bot.aptosdev.com:6180 \
    --full-node-host fn.bot.aptosdev.com:6182 \
    --stake-amount 100000000000000

Это создаст два файла YAML в каталоге ~/$WORKSPACE/$USERNAME: owner.yaml и operator.yaml.

6. Загрузите genesis blob и waypoint для сети, к которой вы хотите подключиться, полный список сетей можно найти здесь

Например, чтобы загрузить testnet genesis и waypoint:

curl https://raw.githubusercontent.com/aptos-labs/aptos-genesis-waypoint/main/testnet/waypoint.txt -o waypoint.txt
curl https://raw.githubusercontent.com/aptos-labs/aptos-genesis-waypoint/main/testnet/genesis.blob -o genesis.blob

7. Напомним, что в рабочем каталоге у вас должен быть список файлов:

  • docker-compose.yaml Файл docker compose для запуска валидатора и полной ноды

  • keys папка, в которую входят:

    • public-keys.yaml: Открытые ключи для учетной записи владельца, консенсуса, сетевого взаимодействия (из шага 4).

    • private-keys.yaml: Закрытые ключи для учетной записи владельца, консенсуса, сетевого взаимодействия (из шага 4).

    • validator-identity.yaml: Закрытые ключи для установки идентификатора валидатора (из шага 4).

    • validator-full-node-identity.yaml: Закрытые ключи для установки полной идентификации ноды валидатора (из шага 4).

  • username fпапка, в которую входят:

    • owner.yaml: определите сопоставление владельца, оператора и голосующего. Это все те же учетные записи в тестовом режиме (из шага 5).

    • operator.yaml: Информация о ноде, которая будет использоваться как для валидатора, так и для полной ноды (из шага 5).

  • waypoint.txt: Путевая точка для транзакции генезиса (из шага 6).

  • genesis.blob Бинарный файл genesis, содержащий всю информацию о фреймворке, validatorSet и многое другое (из шага 6).

8. Запустите docker-compose: docker-compose up. (или docker compose up - зависит от вашей версии)

Теперь вы завершили настройку ноды валидатора. Кроме того, вы можете настроить полную ноду валидатора, следуя приведенным ниже инструкциям.

9. Теперь давайте настроим полную ноду на другом компьютере. Загрузите конфигурационные файлы fullnode.yaml и docker-compose-fullnode.yaml в рабочий каталог компьютера fullnode.

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
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/haproxy.cfg
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/blocked.ips

10. Отредактируйте файл fullnode.yaml, чтобы обновить IP-адрес для ноды валидатора.

11. Скопируйте файлы validator-full-node-identity.yaml, загурзите genesis.blob и waypoint.txt в тот же рабочий каталог на компьютере fullnode.

12. Запустите docker-compose: docker-compose -f docker-compose-fullnode.yaml up. Теперь вы успешно завершили настройку ноды.

13. Дополнительно: если вам нужно заблокировать ip-адрес, просто добавьте его в список blocked.ips и перезагрузите haproxy.

Last updated