Запуск локального Testnet с валидатором

ИСПОЛЬЗОВАНИЕ CLI ДЛЯ ЗАПУСКА ЛОКАЛЬНОЙ СЕТИ TESTNET Если вы хотите использовать CLI для запуска и работы локальной тестовой сети, смотрите раздел Использование CLI для запуска локальной сети Testnet.

Вы можете запустить локальную тестовую сеть блокчейна Aptos. Эта локальная тестовая сеть не будет подключена к сети Aptos devnet. Он будет работать на вашей локальном компьютере, независимо от других сетей Aptos. Вы можете использовать эту локальную тестовую сеть для тестирования и разработки.

Вы можете запустить локальную тестовую сеть двумя способами:

  1. Использование исходного кода Aptos-core. Этот подход полезен для тестирования модификаций кодовой базы Aptos-core или Aptos Framework.

  2. Использование Docker. Это особенно полезно для создания сервисов на базе блокчейна Aptos или Aptos Framework, так как нет накладных расходов на сборку, а реестр сохраняется при перезагрузке сети (по умолчанию).

Остальная часть этого документа описывает:

  • Как запустить локальную сеть testnet с одной нодой валидатора, и

  • Как запустить Faucet и подключить ее к локальной сети testnet.

Использование исходного кода Aptos-core

  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. Обновите текущую среду shell.

    source ~/.cargo/env
  5. Теперь, когда среда разработки готова, можно запустить сеть testnet. Прежде чем продолжить, обратите внимание на следующее:

Совет

  • Когда вы выполните приведенную ниже команду для запуска локальной тестовой сети, ваш терминал перейдет в интерактивный режим с сообщением Aptos is running, press ctrl-c to exit. Следовательно, для выполнения последующих шагов, описанных в этом разделе, вам потребуется открыть другой терминал shell.

  • После выполнения приведенной ниже команды скопируйте информацию Test dir из вывода терминала для следующего шага.

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

CARGO_NET_GIT_FETCH_WITH_CLI=true cargo run -p aptos-node -- --test

Пример частичного результата см. ниже. Запишите Test dir из результатов данных.

...
...
...

Completed generating configuration:
    Log file: "/private/var/folders/gn/m74t8ylx55z935q8wx035qn80000gn/T/b3adc18c144bfcc78a1541953893bc1c/validator.log"
    Test dir: "/private/var/folders/gn/m74t8ylx55z935q8wx035qn80000gn/T/b3adc18c144bfcc78a1541953893bc1c/0/node.yaml"
    Aptos root key path: "/private/var/folders/gn/m74t8ylx55z935q8wx035qn80000gn/T/b3adc18c144bfcc78a1541953893bc1c/mint.key"
    Waypoint: 0:47e676b5fe38ebe2aec6053db7b3daa0b805693d6422e3475e46e89499464ecf
    ChainId: TESTING
    REST API endpoint: 0.0.0.0:8080
    Fullnode network: /ip4/0.0.0.0/tcp/7180
Aptos is running, press ctrl-c to exit

ПРИМЕЧАНИЕ: Приведенная выше команда запускает локальную тестовую сеть с одной нодой валидатора. Команда запускает aptos-node из состояния реестра только для genesis. Если вы хотите повторно использовать состояние реестра, созданное предыдущим запуском aptos-node, используйте:

cargo run -p aptos-node -- --test --config <config-path>

Подключение Faucet к сети testnet

Faucets - это сервисы без статусов, которые могут работать параллельно с тестовой сетью. Faucet - это способ создания тестовых coins Aptos, не имеющих реальной стоимости. Вы можете использовать Faucet, отправив запрос на создание coins и перевод их на заданную учетную запись от вашего имени.

  1. Убедитесь, что вы запустили локальную сеть testnet, как описано в Шаге 5 выше.

  2. Откройте новый терминал shell.

  3. Скопируйте путь к корневому ключу Aptos из терминала, где вы запустили testnet, и используйте его для замены mint-key-file-path в приведенной ниже команде.

  4. Выполните следующую команду для запуска Faucet:

   cargo run --package aptos-faucet -- \
      --chain-id TESTING \
      --mint-key-file-path "/tmp/694173aa3bbe019499bbd5cf3fe0e2fc/mint.key" \
      --address 0.0.0.0 \
      --port 8000 \
      --server-url http://127.0.0.1:8080

Это позволит запустить Faucet, работающий локально, без каких-либо ограничений на токены, которые можно требовать и майнить. Эта служба Faucet будет так же доступна, как и тестовая сеть, которую вы запустили выше.

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

В этом разделе описано, как начать локальное тестирование с помощью Docker.

  1. Установите Docker, включая Docker-Compose.

  2. Создайте каталог для вашей локальной сети тестовых валидаторов и cd перейдите в него.

  3. Загрузите файлы настройки YAML для:

4. Запустите Docker Compose, выполнив команду:

docker-compose up

Пример

Пример последовательности команд для вышеуказанных шагов со 2 по 4 показан ниже:

mkdir aptos_local_validator && cd aptos_local_validator
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/validator-testnet/docker-compose.yaml
wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/validator-testnet/validator_node_template.yaml
docker-compose up

Это приведет к запуску ноды валидатора и сервиса Faucet.

  • Конечная точка REST валидатора будет доступна по адресу http://127.0.0.1:8080, и

  • Faucet можно найти на http://127.0.0.1:8000.

Устранение неполадок

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

  1. Сначала выполните запрос Docker для хранилища и общих объемов с помощью docker container ls -a и docker volume ls.

  2. Затем удалите их с помощью docker container rm $id и docker volume rm $name.

  3. В качестве альтернативы вы можете начать с чистого листа, очистив все локальное состояние docker, выполнив следующую команду:

docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) && docker rmi $(docker images -q) && docker volume rm $(docker volume ls -q)

ПРИМЕЧАНИЕ Если вы собираетесь использовать вашу тестовую сеть в течение длительного времени, вам следует привязать образы к определенному ID. Идентификаторы образов можно получить через docker container ls и добавить в файл docker compose.

Взаимодействие с локальной сетью testnet

После запуска локальной сети testnet вы увидите следующее:

Entering test mode, this should never be used in production!
Completed generating configuration:
        Log file: "/tmp/694173aa3bbe019499bbd5cf3fe0e2fc/validator.log"
        Test dir: "/tmp/694173aa3bbe019499bbd5cf3fe0e2fc/0/node.yaml"
        Aptos root key path: "/tmp/694173aa3bbe019499bbd5cf3fe0e2fc/mint.key"
        Waypoint: 0:197bc8b76761622c2d2054d8bf93c1802fa0eb4bc55f0f3d4442878fdecc297f
        ChainId: TESTING
        REST API endpoint: 0.0.0.0:8080
        Fullnode network: /ip4/0.0.0.0/tcp/7180

Aptos is running, press ctrl-c to exit

Используйте инструмент Aptos CLI для взаимодействия с локальной сетью тестирования. Приведенный выше вывод содержит информацию, которую вы будете использовать для запуска инструмента Aptos CLI:

  • Aptos root key path: Корневой ключ (также известный как ключ mint или faucet) управляет учетной записью, которая может минтить токены. Доступен в папке docker compose под именем aptos_root_key.

  • Waypoint: Проверяемая контрольная точка блокчейна (доступна в папке docker compose под файлом waypoint.txt)

  • REST endpoint: Конечная точка для службы REST, например, http://127.0.0.1:8080.

  • ChainId: Идентификатор сети уникальным образом отличает эту сеть от других сетей блокчейн.

Следующие шаги

На этом этапе у вас будет специальная учетная запись root по адресу 0x1, которая может выполнять операцию mint. Выполните следующие действия:

Last updated