Делайте это только в том случае, если вы получили подтверждение по электронной почте от команды Aptos о том, что вы соответствуете требованиям. У нод, не прошедших отбор, не будет достаточно токенов для участия в тестнете. В этом случае вы все равно можете запустить публичную полную ноду, если хотите.
Инициализация стэйкинг - пула
В AIT3 у нас будет поддержка пользовательского интерфейса, позволяющая владельцу управлять стэйкинг пулом, подробности здесь. Если вы уже сделали это через пользовательский интерфейс, вы можете проигнорировать этот шаг и перейти к "Загрузка ноды валидатора".
В качестве альтернативы, вы также можете использовать CLI для инициализации стэйкинг-пула:
- Инициализируйте CLI с помощью приватного ключа вашего кошелька, который вы можете получить из Настройки -> Учетные данные
aptos init --profile ait3-owner \
--rest-url https://ait3.aptosdev.com
- Инициализация стэйкинг-пула с помощью CLI
aptos stake initialize-stake-owner \
--initial-stake-amount 100000000000000 \
--operator-address <operator-address> \
--voter-address <voter-address> \
--profile ait3-owner
- Не забудьте перевести несколько coin на учетную запись оператора для оплаты газа, это можно сделать с помощью Petra, или CLI
aptos account create --account <operator-account> --profile ait3-owner
aptos account transfer \
--account <operator-account> \
--amount 5000 \
--profile ait3-owner
Загрузка ноды валидатора
Прежде чем присоединиться к тестовой сети, вам необходимо загружать вашу ноду с помощью genesis blob и waypoint, предоставленных командой Aptos Labs. Это переведет вашу ноду из тестового режима в режим prod.
Использование исходного кода
- Остановите вашу ноду и удалите каталог данных. Убедитесь, что вы удалили и файл secure-data.json, путь к которому определен здесь.
- Скачайте файл
genesis.blob
иwaypoint.txt
, опубликованные командой Aptos Labs. - Обновите
account_address
вvalidator-identity.yaml
на адрес кошелька владельца, больше ничего не меняйте, ключи оставьте как есть. - Внесите последние изменения в ветку
testnet
. Это должен быть коммитb2228f286b5fe7631dee62690ae5d1087017e20d
- Закройте порт метрики
9101
и порт REST API80
для вашего валидатора (вы можете оставить их открытыми для полной ноды). - Перезапуск ноды
Использование Docker
- Остановите ноду и удалите тома данных,
docker compose down --volumes
. Убедитесь, что вы удалили и файлsecure-data.json
, путь к которому определен здесь. - Скачайте файл
genesis.blob
иwaypoint.txt
, опубликованные командой Aptos Labs. - Обновите
account_address
вvalidator-identity.yaml
на адрес кошелька владельца. - Обновите образ docker для использования тега
testnet_b2228f286b5fe7631dee62690ae5d1087017e20d
. - Закройте порт метрики 9101 и порт REST API
80
для вашего валидатора (удалите его из файла docker compose), вы можете оставить его открытым для полной ноды. - Перезапуск ноды:
docker compose up
Использование Terraform
- Увеличьте число
era
(эпох) в конфигурации Terraform, это сотрет данные после применения. - Обновите
chain_id
до 47. - Обновите образ докера для использования тега
testnet_b2228f286b5fe7631dee62690ae5d1087017e20d
- Закройте порт метрики и порт REST API для валидатора (вы можете оставить его открытым для полной ноды), добавьте значения helm в ваш файл
main.tf
, например:
module "aptos-node" {
...
helm_values = {
service = {
validator = {
enableRestApi = false
enableMetricsPort = false
}
}
}
}
- Применить Terraform:
terraform apply
- Скачайте файл
genesis.blob
иwaypoint.txt
, опубликованные командой Aptos Labs. - Обновите
account_address
вvalidator-identity.yaml
на адрес кошелька владельца, больше ничего не меняйте, сохраните ключи как есть. - Пересоздайте секреты, убедитесь, что имя секрета соответствует номеру вашей
era
, например, если у васera = 3
, вы должны заменить имя секрета на${WORKSPACE}-aptos-node-0-genesis-e3
export WORKSPACE=<your workspace name>
kubectl create secret generic ${WORKSPACE}-aptos-node-0-genesis-e2 \
--from-file=genesis.blob=genesis.blob \
--from-file=waypoint.txt=waypoint.txt \
--from-file=validator-identity.yaml=keys/validator-identity.yaml \
--from-file=validator-full-node-identity.yaml=keys/validator-full-node-identity.yaml
Присоединение к пулу валидаторов
На данном этапе вы уже использовали свою учетную запись владельца для инициализации стэйкинг-пула валидаторов и назначить оператора на свою учетную запись оператора. Далее необходимо настроить ноду валидатора, используя учетную запись оператора, и присоединиться к набору валидаторов.
1.Инициализация Aptos CLI
aptos init --profile ait3-operator \
--private-key <operator_account_private_key> \
--rest-url https://ait3.aptosdev.com \
--skip-faucet
ПОДСКАЗКА
account_private_key
для оператора можно найти в файлеprivate-keys.yaml
в папке~/$WORKSPACE/keys
.
2.Проверьте баланс учетной записи валидатора, убедитесь, что у вас есть coins для оплаты газа. (Если нет, переведите несколько coins на эту учетную запись с вашей учетной записи владельца).
Вы можете проверить в проводнике https://explorer.devnet.aptos.dev/account/<account-address>?network=ait3
или использовать CLI
aptos account list --profile ait3-operator
Это покажет вам баланс coin на учетной записи валидатора. Вы должны увидеть что-то вроде:
"coin": {
"value": "5000"
}
3.Обновление сетевых адресов валидаторов в сети
aptos node update-validator-network-addresses \
--pool-address <owner-address> \
--operator-config-file ~/$WORKSPACE/$USERNAME/operator.yaml \
--profile ait3-operator
4.Обновление ключа консенсуса валидатора в сети
aptos node update-consensus-key \
--pool-address <owner-address> \
--operator-config-file ~/$WORKSPACE/$USERNAME/operator.yaml \
--profile ait3-operator
5.Присоединитесь к набору валидаторов
aptos node join-validator-set \
--pool-address <owner-address> \
--profile ait3-operator \
--max-gas 10000
МАКСИМАЛЬНЫЙ ГАЗ
Вы можете изменить указанное выше значениеmax-gas
. Убедитесь, что вы отправили своему оператору достаточно токенов, чтобы оплатить стоимость газа.
ValidatorSet
будет обновляться при каждой смене эпохи, то есть раз в 2 часа. Вы увидите, что ваша нода присоединяется к набору валидаторов только в следующую эпоху. Валидатор и нода начнут синхронизироваться, как только ваш валидатор будет включен в набор валидаторов.
6.Проверьте набор валидаторов
aptos node show-validator-set --profile ait3-operator | jq -r '.Result.pending_active' | grep <account_address>
Вы увидите вашу ноду валидатора в списке "pending_active". Когда произойдет следующее изменение эпохи, нода будет перемещена в список "active_validators". Это произойдет в течение одного часа после завершения предыдущего шага. В течение этого времени вы можете увидеть ошибки типа "No connected AptosNet peers", что является нормальным.
aptos node show-validator-set --profile ait3-operator | jq -r '.Result.active_validators' | grep <account_address>
Проверка подключения нод
ОПРЕДЕЛЕНИЕ ЖИЗНЕСПОСОБНОСТИ НОДЫ
Подробности определения жизнеспособности ноды смотрите здесь.
После того как ваша валидаторная нода присоединилась к набору валидаторов, вы можете проверить правильность, выполнив следующие шаги:
1.Убедитесь, что ваша нода подключается к другим пирам в сети testnet. Замените 127.0.0.1
на IP/DNS вашего валидатора, если он развернут в облаке.
curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_connections{.*\"Validator\".*}"
Команда выведет количество входящих и исходящих соединений вашей ноды валидатора. Например:
aptos_connections{direction="inbound",network_id="Validator",peer_id="f326fd30",role_type="validator"} 5
aptos_connections{direction="outbound",network_id="Validator",peer_id="f326fd30",role_type="validator"} 2
Если одна из метрик больше нуля, то ваша нода подключена хотя бы к одному из аналогов в тестовой сети.
2.Вы также можете проверить, подключена ли ваша нода к ноде AptosLabs, замените на peer ID, которым поделилась команда Aptos.
curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_network_peer_connected{.*remote_peer_id=\"<Aptos Peer ID>\".*}"
3.Проверьте, синхронизируется ли состояние вашей ноды
curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_state_sync_version"
Вы должны ожидать, что версия "committed" будет постоянно увеличиваться.
4.Как только состояние вашей ноды синхронизируется с последней версией, вы также можете проверить, продвигается ли консенсус, и ваша нода предлагает
curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_consensus_current_round"
curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_consensus_proposals_count"
Следует ожидать, что это число будет постоянно расти.
5.Наконец, самый простой способ проверить, правильно ли функционирует ваша нода, - это проверить, получает ли она вознаграждение за стэйкинг. Вы можете проверить это в проводнике, https://explorer.devnet.aptos.dev/account/<owner-account-address>?network=ait3
0x1::stake::StakePool
"active": {
"value": "100009129447462"
}
Вы должны ожидать, что активное значение для вашего StakePool будет постоянно увеличиваться. Оно обновляется в каждую эпоху, поэтому будет обновляться каждые два часа.
Выход из набора валидаторов
Нода может в любой момент выйти из набора валидаторов, или это произойдет автоматически, когда на учетной записи валидатора не будет достаточного количества стэйкинга. Чтобы покинуть набор валидаторов, вы можете выполнить следующие действия:
1.Выход из набора валидаторов (вступит в силу в следующую эпоху)
aptos node leave-validator-set --profile ait3-operator --pool-address <owner-address>
Top comments (0)