Руководство по запуску локальной сети с несколькими нодами

Это руководство описывает, как запустить локальную сеть с несколькими нодами валидаторов и полными нодами валидаторов. Для этого вы будете использовать Aptos Forge CLI.

ИСПОЛЬЗУЙТЕ ТОЛЬКО ДЛЯ ТЕСТОВОГО РАЗВЕРТЫВАНИЯ Метод, описанный в данном руководстве, следует использовать только для тестового развертывания локальной сети нескольких нод. Не используйте это руководство для развертывания в рабочей среде. В настоящее время это единственное руководство по развертыванию сети нескольких нож.

Для развертывания локальной сети с одной нодой смотрите Запуск локальной тестовой сети и Процесс разработки локальной тестовой сети.

Прежде чем приступить к работе

Убедитесь, что вы клонировали исходный GitHub-репо Aptos, выполнив следующие шаги:

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

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

2. cd в каталог aptos-core.

cd aptos-core

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

./scripts/dev_setup.sh

Обновите текущую среду.

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

Запуск нескольких валидаторов

Чтобы развернуть несколько локальных валидаторов, выполните команду:

cargo run -p forge-cli \
        -- \
        --suite "run_forever" \
        --num-validators 4 test local-swarm

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

В выводе терминала будет показано расположение файлов валидаторов (например, файлы genesis, журналы, конфигурации нод и т.д.) и команды, которые были запущены для запуска каждой ноды. При запуске также отображается идентификатор процесса (PID) каждой ноды и адреса серверов (например, REST API). Например, если вы выполните приведенную выше команду, вы увидите:

...
2022-09-01T15:41:27.228289Z [main] INFO crates/aptos-genesis/src/builder.rs:462 Building genesis with 4 validators. Directory of output: "/private/var/folders/dx/c0l2rrkn0656gfx6v5_dy_p80000gn/T/.tmpq9uPMJ"
...
2022-09-01T15:41:28.090606Z [main] INFO testsuite/forge/src/backend/local/swarm.rs:207 The root (or mint) key for the swarm is: 0xf9f...
...
2022-09-01T15:41:28.094800Z [main] INFO testsuite/forge/src/backend/local/node.rs:129 Started node 0 (PID: 78939) with command: ".../aptos-core/target/debug/aptos-node" "-f" "/private/var/folders/dx/c0l2rrkn0656gfx6v5_dy_p80000gn/T/.tmpq9uPMJ/0/node.yaml"
2022-09-01T15:41:28.094825Z [main] INFO testsuite/forge/src/backend/local/node.rs:137 Node 0: REST API is listening at: http://127.0.0.1:64566
2022-09-01T15:41:28.094838Z [main] INFO testsuite/forge/src/backend/local/node.rs:142 Node 0: Inspection service is listening at http://127.0.0.1:64568
...

Используя информацию из этого вывода, вы можете остановить одну ноду и перезапустить ее. Например, чтобы остановить и перезапустить ноду 0, выполните следующие команды:

kill -9 <Node 0 PID>
cargo run -p aptos-node \
        -- \
        -f <Location to the node 0 configuration file displayed above>

Faucet и Минт

Кроме того, в выводе терминала также отображается корневой (или mint) ключ для сети. Это позволяет запустить локальный faucet и начать минт тестовых токенов в сети. Для этого просто запустите команду faucet, используя ключ mint, и направьте ее на REST API одной из нод, например, ноды 0:

cargo run --bin aptos-faucet \
        -- \
        -c TESTING \
        --mint-key <Root/mint key displayed above> \
        -s <URL for node 0 REST API> \
        -p 8081   

Приведенная выше команда запустит локальный faucet, прослушивающий порт 8081. С помощью этого faucet вы сможете минтить токены для своих тестовых учетных записей, например:

curl -X POST http://127.0.0.1:8081/mint\?amount\=<amount to mint>\&pub_key\=<public key to mint tokens to>\&return_txns\=true
01000000000000000000000000000000dd05a600000000000001e001a11ceb0b01000...

FAUCET И APTOS CLI Подробнее о том, как работает faucet, читайте в README.

Также смотрите, как использовать Aptos CLI с существующим faucet.

Валидатор полных нод

Чтобы также запустить валидатор полных нод внутри сети, используйте флаг --num-validator-fullnodes. Например:

cargo run -p forge-cli \
        -- \
        --suite "run_forever" \
        --num-validators 3 \
        --num-validator-fullnodes 1 test local-swarm

Дополнительное применение

Чтобы просмотреть все параметры использования инструмента, выполните команду:

cargo run -p forge-cli --help

Last updated