Использование CLI для запуска локальной сети Testnet

ИСПОЛЬЗОВАНИЕ ИСХОДНОГО КОДА ИЛИ DOCKER ДЛЯ ЗАПУСКА ЛОКАЛЬНОГО TESTNET Если вы хотите использовать Docker или исходный код aptos-core для запуска и работы локального testnet, смотрите раздел Запуск локального testnet с валидатором.

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

ДОКУМЕНТАЦИЯ ПО APTOS CLI Если вы новичок в Aptos CLI, ознакомьтесь с этой полной документацией по Aptos CLI.

Запуск локальной сети testnet с помощью faucet

Вы можете запустить локальную тестовую сеть с помощью следующей команды Aptos CLI:

aptos node run-local-testnet --with-faucet

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

Completed generating configuration:
        Log file: "/Users/greg/.aptos/testnet/validator.log"
        Test dir: "/Users/greg/.aptos/testnet"
        Aptos root key path: "/Users/greg/.aptos/testnet/mint.key"
        Waypoint: 0:74c9d14285ec19e6bd15fbe851007ea8b66efbd772f613c191aa78721cadac25
        ChainId: TESTING
        REST API endpoint: 0.0.0.0:8080
        Fullnode network: /ip4/0.0.0.0/tcp/6181

Aptos is running, press ctrl-c to exit

Faucet is running.  Faucet endpoint: 0.0.0.0:8081

Приведенная выше команда будет использовать настройку по умолчанию для ноды валидатора.

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

Тестирование с помощью локальной тестовой сети

Вы можете использовать Aptos CLI для полного спектра операций локальной тестовой сети. О том, как сначала настроить CLI, см. ниже.

Настройка Aptos CLI для использования локальной тестовой сети

Вы можете добавить отдельный профиль, как показано ниже:

aptos init --profile local --rest-url http://localhost:8080 --faucet-url http://localhost:8081

и вы получите результат, как показано ниже. В командной строке Enter your private key... нажмите Enter, чтобы сгенерировать рандомный новый ключ.

Configuring for profile local
Using command line argument for rest URL http://localhost:8080/
Using command line argument for faucet URL http://localhost:8081/
Enter your private key as a hex literal (0x...) [Current: None | No input: Generate new key (or keep one if present)]

Это приведет к созданию новой учетной записи и пополнению ее стандартным количеством coins, как показано ниже:

No key given, generating key...
Account 7100C5295ED4F9F39DCC28D309654E291845984518307D3E2FE00AEA5F8CACC1 doesn't exist, creating it and funding it with 10000 coins
Aptos is now set up for account 7100C5295ED4F9F39DCC28D309654E291845984518307D3E2FE00AEA5F8CACC1!  Run `aptos help` for more information about commands
{
  "Result": "Success"
}

С этого момента вы должны добавлять --profile local к командам, чтобы запускать их в локальной тестовой сети.

Создание и пополнение учетных записей

Для создания новых учетных записей в локальной тестовой сети мы рекомендуем использовать приведенные выше инструкции с разными именами профилей:

PROFILE=localaptos init --profile $PROFILE --rest-url http://localhost:8080 --faucet-url http://localhost:8081

Для пополнения учетных записей:

aptos account fund --profile $PROFILE --account $PROFILE

Чтобы создать учетные записи ресурсов:

aptos account create-resource-account --profile $PROFILE --seed 1

Публикация модулей в локальную сеть testnet

Вы можете запустить любую команду, добавив флаг --profile $PROFILE. В данном случае мы также используем $PROFILE в качестве именованного адреса в примере HelloBlockchain.

aptos move publish --profile $PROFILE --package-dir /opt/git/aptos-core/aptos-move/move-examples/hello_blockchain --named-addresses HelloBlockchain=$PROFILE
{
  "Result": {
    "changes": [
      {
        "address": "7100c5295ed4f9f39dcc28d309654e291845984518307d3e2fe00aea5f8cacc1",
        "data": {
          "authentication_key": "0x7100c5295ed4f9f39dcc28d309654e291845984518307d3e2fe00aea5f8cacc1",
          "coin_register_events": {
            "counter": "1",
            "guid": {
              "id": {
                "addr": "0x7100c5295ed4f9f39dcc28d309654e291845984518307d3e2fe00aea5f8cacc1",
                "creation_num": "0"
              }
            }
          },
          "sequence_number": "4"
        },
        "event": "write_resource",
        "resource": "0x1::account::Account"
      },
    ...
    ],
    "gas_used": 59,
    "success": true,
    "version": 6261,
    "vm_status": "Executed successfully"
  }
}

Сброс состояния локальной сети

Если вы обновили свою базу данных, внеся несовместимые с обратным ходом изменения, или просто хотите начать все сначала, вы можете выполнить команду с флагом --force-restart:

aptos node run-local-testnet --with-faucet --force-restart

Затем он спросит вас, действительно ли вы хотите перезапустить сеть, чтобы убедиться, что вы не удалите свою работу случайно.

Are you sure you want to delete the existing chain? [yes/no] >

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Я получаю ошибку "Address already in use", что я могу сделать?

Если вы получаете ошибку, подобную этой:

'panicked at 'error binding to 0.0.0.0:9101: error creating server listener: Address already in use (os error 48)'

Это означает, что вы либо уже запустили ноду, либо на этом порту запущен другой процесс.

На macOS и Linux можно выполнить следующую команду, чтобы получить имя и PID процесса, использующего порт:

PORT=9101lsof -i :$PORT

Где можно получить дополнительную информацию о команде run-local-testnet?

Дополнительную помощь CLI можно найти, выполнив команду:

aptos node run-local-testnet --help

который предоставит информацию о каждом из флагов для команды.

Last updated