Запуск локального тестнета

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

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

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

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

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

  • Как запустить локальный тестнет с одной валидирующей нодой, используя оба метода

  • Как запустить сервис Faucet и подключить его к вашему локальному тестнету

Использование исходных файлов Aptos

  1. Создайте новое ответвление и клонируйте репозиторий Aptos.

  • Создайте ответвление репозитория Aptos Core, щелкнув Fork в правом верхнем углу данной страницы репозитория: https://github.com/aptos-labs/aptos-core.

  • Клонируйте ответвление.

git clone https://github.com/<YOUR-GITHUB-USERID>/aptos-core

2. Перейдите cd в каталог aptos-core .

cd aptos-core

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

./scripts/dev_setup.sh

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

source ~/.cargo/env

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

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

  • После запуска приведенной ниже команды, вам нужно будет скопировать информацию Config path из вывода терминала для следующих шагов.

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

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

Ниже приведен пример частичного вывода. Сделайте заметку о Config path из выходных данных.

...
...
...

Completed generating configuration:
    Log file: "/private/var/folders/gn/m74t8ylx55z935q8wx035qn80000gn/T/b3adc18c144bfcc78a1541953893bc1c/validator.log"
    Config path: "/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 только из реестра в состоянии генезиса. Если вы хотите повторно использовать состояние реестра, созданное предыдущим запуском aptos-node, используйте:

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

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

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

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

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

  3. Скопируйте путь к корневому ключу Aptos со своего терминала, где вы запустили тестовую сеть, и используйте его для замены 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 and docker volume ls.

  2. Затем удалите их, используя docker container rm $id and 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.

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

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

Entering test mode, this should never be used in production!
Completed generating configuration:
        Log file: "/tmp/694173aa3bbe019499bbd5cf3fe0e2fc/validator.log"
        Config path: "/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 tool для взаимодействия с локальным тестнетом. Приведенный выше результат выполнения содержит информацию, которую вы будете использовать для запуска Aptos CLI tool.

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

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

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

  • ChainId: ID цепи однозначно отличает эту сеть от других сетей блокчейна

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

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

Last updated