Запуск валидатора используя исходные файлы

  1. Клонируйте репозиторий Aptos.

git clone https://github.com/aptos-labs/aptos-core.git

2. Выполните команду cd в каталоге aptos-core .

cd aptos-core

3. Запустите bash-скрипт scripts/dev_setup.sh , как показано ниже. Это подготовит вашу среду разработчика.

./scripts/dev_setup.sh

4. Обновите вашу текущую среду оболочки.

source ~/.cargo/env

Со средой разработки готово, теперь вы можете начать установку вашей ноды валидатора.

5. Проверьте testnet branch using git checkout --track origin/testnet.

6. Создайте каталог для композиции вашей Aptos ноды, например:

export WORKSPACE=testnet
mkdir ~/$WORKSPACE

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

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

Это создаст три файла: private-keys.yaml, validator-identity.yaml, validator-full-node-identity.yaml . ВАЖНО: сделайте резервную копию файлов ваших ключей в безопасном месте. Эти файлы важны для вас, чтобы установить право собственности на вашу ноду, вы также будете использовать эту информацию, чтобы позже получить свое вознаграждение, если будете соответствовать требованиям. Никогда не делитесь этими ключами с кем-либо еще.

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

Эта информация понадобится вам позже для регистрации на сайте сообщества Aptos.

ПОДСКАЗКА

Флаг --full-node-host является опциональным.

cargo run --release -p aptos -- genesis set-validator-configuration \
    --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE \
    --username <pick a username for your node> \
    --validator-host <Validator Node IP / DNS address>:<Port> \
    --full-node-host <Full Node IP / DNS address>:<Port>

# for example, with IP:

cargo run --release -p aptos -- genesis set-validator-configuration \
    --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE \
    --username aptosbot \
    --validator-host 35.232.235.205:6180 \
    --full-node-host 34.135.169.144:6182

# for example, with DNS:

cargo run --release -p aptos -- genesis set-validator-configuration \
    --keys-dir ~/$WORKSPACE --local-repository-dir ~/$WORKSPACE \
    --username aptosbot \
    --validator-host bot.aptosdev.com:6180 \
    --full-node-host fn.bot.aptosdev.com:6182

В вашем рабочем каталоге будет создан файл YAML с вашим именем пользователя, например: aptosbot.yaml. Это будет выглядеть как:

---
account_address: 7410973313fd0b5c69560fd8cd9c4aaeef873f869d292d1bb94b1872e737d64f
consensus_key: "0x4e6323a4692866d54316f3b08493f161746fda4daaacb6f0a04ec36b6160fdce"
account_key: "0x83f090aee4525052f3b504805c2a0b1d37553d611129289ede2fc9ca5f6aed3c"
network_key: "0xa06381a17b090b8db5ffef97c6e861baad94a1b0e3210e6309de84c15337811d"
validator_host:
  host: 35.232.235.205
  port: 6180
full_node_host:
  host: 34.135.169.144
  port: 6182
stake_amount: 1

9. Создайте файл макета YAML, который определяет узел в validatorSet. Для тестового режима мы можем создать генезис блоб, содержащий только одну ноду.

vi ~/$WORKSPACE/layout.yaml

Добавьте публичный ключ корневого аккаунта, имя пользователя ноды и id-цепи в файлlayout.yaml , например:

---
root_key: "0x5243ca72b0766d9e9cbf2debf6153443b01a1e0e6d086c7ea206eaf6f8043956"
users:
  - <username you created in step 8>
chain_id: 23

Вы можете использовать корневой ключ из примера или сгенерировать новый самостоятельно, запустив cargo run -p aptos -- key generate --output-file <file name>.

10. Создайте байт-код AptosFramework Move и скопируйте в папку фреймворка.

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/

У вас появится папка с именемframework, которая будет содержать байт-код Move в формате.mv.

11. Скомпилируйте генезис блоб и путевую точку.

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

Это создаст в вашем рабочем каталоге два файла genesis.blob и waypoint.txt .

12. Скопируйте файлы validator.yaml, fullnode.yaml в этот каталог.

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

Измените файл конфигурации, чтобы обновить путь к ключу, путь к файлу генезиса, путь к путевой точке.

13. Итак, напомним, что в вашем рабочем каталоге (~/$WORKSPACE) должен быть список из следующих файлов:

  • validator.yaml файл конфигурации валидатора

  • fullnode.yaml fфайл конфигурации полной ноды

  • private-keys.yaml персональные ключи для владельца аккаунта, консенсуса и сети

  • validator-identity.yaml персональные ключи для настройки идентификации валидатора

  • validator-full-node-identity.yaml персональные ключи для настройки идентификации валидатора полной ноды

  • <username>.yaml информация об обеих нодах валидирующей/полной

  • layout.yamlфайл макета для определения корневого ключа, пользователя валидатора и ID цепи

  • framework папка, содержащая весь байт-код move для AptosFramework

  • waypoint.txt путевая точка транзакции генезиса

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

14. Запустите локальный валидатор, выполнив следующую команду:

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

Запустите полную ноду на другом терминале:

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

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

Last updated