🟢
Aptos RU WiKi
  • Aptos Developer Network
  • Основы
    • Учётные записи (аккаунты)
    • События (events)
    • Полные ноды
    • Газ и комиссия за транзакции
    • Подтверждение
    • Топология сети
    • Транзакции и состояния
    • Валидирующие ноды
  • Гайды
    • Начало работы
    • Жизнь транзакции
    • Move в сети Aptos
    • Взаимодействие с блокчейном Aptos
  • Руководства по применению
    • Ваша первая транзакция
    • Ваш первый Move модуль
    • Ваш первый Dapp
    • Ваша первая монета
    • Ваш первый NFT
    • Расширение Wallet
  • Руководства по нодам
    • Запуск локального тестнета
    • Запуск полной ноды
      • Запуск полной ноды
      • Обновление полной ноды на новый релиз
      • Идентификация для полной ноды
      • Устранение неполадок при настройке полной ноды
  • Документы по вознаграждаемому тестнету
    • Введение
    • Запуск валидатора используя GCP
    • Запуск валидатора используя AWS
    • Запуск валидатора используя Azure
    • Запуск валидатора используя Docker
    • Запуск валидатора используя исходные файлы
    • Подключение к вознаграждаемому тестнету Aptos
  • Критерии работоспособности ноды
  • Телеметрия
  • Глоссарий
Powered by GitBook
On this page
  • Прежде чем продолжить
  • Создание статической идентификации для полной ноды
  • Запуск ноды со статической сетевой идентификацией
  • Разрешение подключиться другим полным нодам
  1. Руководства по нодам
  2. Запуск полной ноды

Идентификация для полной ноды

PreviousОбновление полной ноды на новый релизNextУстранение неполадок при настройке полной ноды

Last updated 2 years ago

Полные ноды автоматически запустятся со случайно сгенерированным сетевым идентификатором. Это хорошо функционирует с обычными полными нодами. Однако:

  • Вы можете захотеть, чтобы ваша полная нода была добавлена в определенный разрешающий список вышестоящей полной ноды (например, другого участника полной ноды в сети Aptos), потому что:

    • Вам могут потребоваться определенные разрешения для вашей полной ноды на этой конкретной вышестоящей полной ноде или

    • Эта вышестоящая полная нода позволяет подключаться к ней только известным идентификациям, или

    • Возможно, вы захотите выдвинуть свою полную ноду для подключения для других полных нод Aptos (для поддержки сети Aptos).

В таких случаях помогает запуск полной ноды со статическим сетевым идентификатором, а не со случайно сгенерированным сетевым идентификатором, который постоянно меняется при каждом запуске полной ноды.

Это руководство покажет вам, как:

  • Создать статическую сетевую идентификацию для вашей полной ноды

  • Запустить ноду со статической сетевой идентификацией

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

Прежде чем продолжить

Прежде чем продолжить, убедитесь, что вы знаете, как запустить локальную полную ноду. Подробную документацию см. в разделе .

DOCKER ПОДДЕРЖКА ТОЛЬКО НА LINUX

Контейнер Docker в настоящее время поддерживается только на платформе Linux x86-64. Если вы работаете на платформе macOS или Windows, используйте исходные файлы Aptos-core.

Создание статической идентификации для полной ноды

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

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

  2. Далее вы получаетеpeer_id из публичного ключа.

  3. Наконец, вы используете peer_id in your public_full_node.yaml , чтобы создать статическую сетевую идентификацию для вашей полной ноды.

Выполните подробно описанные ниже шаги:\

$ git clone https://github.com/<YOUR-GITHUB-USERID>/aptos-core.git
$ cd aptos-core
$ ./scripts/dev_setup.sh
$ source ~/.cargo/env

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

В качестве альтернативы, если вы работаете на платформе Linux x86-64, вы можете использовать образ Aptos Docker.

Перейдите cd в каталог вашей локальной публичной полной ноды и запустите контейнер Docker с последними инструментами, например:

$ cd ~/my-full-node
$ docker run -it aptoslab/tools:devnet /bin/bash

ПРИМЕЧАНИЕ

Приведенная ниже команда также создаст корреспондирующий файл private-key.txt.pub с открытым ключом идентификации в нем.

aptos key generate --key-type x25519 --output-file /path/to/private-key.txt

Пример файла private-key.txt и связанных файлов private-key.txt.pub показан ниже:

$ cat ~/private-key.txt
C83110913CBE4583F820FABEB7514293624E46862FAE1FD339B923F0CACC647D%           

$ cat ~/private-key.txt.pub
B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813%

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

Выполните этот шаг из контейнера Docker aptoslab/tools . Откройте новый терминал и перейдите cd в каталог, где вы запускали контейнер Docker для вашей полной ноды. Убедившись, что вы указали полный путь к тому месту, где вы хотите сохранить TXT-файл закрытого ключа, выполните команду, как показано ниже:

aptos-operational-tool generate-key \
    --encoding hex \
    --key-type x25519 \
    --key-file /path/to/private-key.txt

3. Получите пир идентификацию

Если вы используете для генерации закрытого ключа исходные файлы Aptos, выполните данную ниже команду Aptos CLI , чтобы сгенерировать peer_id:

aptos key extract-peer  --private-key-file private-key.txt  \
    --output-file peer-info.yaml

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

Из контейнера Dockeraptoslab/tools :

$ aptos-operational-tool extract-peer-from-file \
    --encoding hex \
    --key-file /path/to/private-key.txt \
    --output-file /path/to/peer-info.yaml

Это создаст файл YAML с вашим peer_id , соответствующим предоставленному вами private-key.txt .

Пример вывода peer-info.yaml:

---
B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813:
  addresses: []
  keys:
    - "0xB881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813"
role: Upstream

В этом примереB881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813 является peer_id. Используйте его в поле peer_id вашего public_full_node.yaml для создания статической идентификации для вашей полной ноды.

Запуск ноды со статической сетевой идентификацией

После того, как вы сгенерировали открытый ключ идентификации, вы можете запустить полную ноду со статической сетевой идентификацией, используя открытый ключ в поле peer_id файла конфигурации public_full_node.yaml:

full_node_networks:
- network_id: "public"
  discovery_method: "onchain"
  identity:
    type: "from_config"
    key: "<PRIVATE_KEY>"
    peer_id: "<PEER_ID>"

В нашем примере вы должны указать сгенерированный выше peer_id вместо<PEER_ID>:

full_node_networks:
- network_id: "public"
  discovery_method: "onchain"
  identity:
    type: "from_config"
    key: "C83110913CBE4583F820FABEB7514293624E46862FAE1FD339B923F0CACC647D"
    peer_id: "B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813"

Разрешение подключиться другим полным нодам

Как только вы запустите свою полную ноду со статической идентификацией, вы сможете разрешить другим подключаться к devnet через вашу ноду.

ПРИМЕЧАНИЕ

В следующих шагах номера портов используются только для иллюстрации. Вы можете использовать выбранные вами номера портов.

  • Убедитесь, что вы открыли порт 6180 (или 6182, например, в зависимости от того, какой порт прослушивает ваша нода) и что вы открыли брандмауэр.

  • Если вы используете Docker, просто добавьте - "6180:6180" или - "6182:6182" под портами в файле docker-compose.yaml .

  • Поделитесь статической сетевой идентификацией вашей ноды с другими. Они смогут использовать ее в ключе seeds их файла public_full_node.yaml , чтобы подключиться к вашей полной ноде.

  • Убедитесь, что номер порта, указанный вами вaddresses совпадает с тем, который указан в файле конфигурации полной ноды public_full_node.yaml (например, 6180 или 6182).

Поделитесь статической сетевой идентификацией вашей полной ноды в следующем формате на канале Discord advertise-full-nodes:

<Peer_ID>:
  addresses:
  # with DNS
  - "/dns4/<DNS_Name>/tcp/<Port_Number>/ln-noise-ik/<Public_Key>/ln-handshake/0"
  role: Upstream
<Peer_ID>:
  addresses:
  # with IP
  - "/ip4/<IP_Address>/tcp/<Port_Number>/ln-noise-ik/<Public_Key>/ln-handshake/0"
  role: Upstream

Например:

B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813:
  addresses:
  - "/dns4/pfn0.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813/ln-handshake/0"
  role: "Upstream"
B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813:
  addresses:
  - "/ip4/100.20.221.187/tcp/6182/ln-noise-ik/B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813/ln-handshake/0"
  role: "Upstream"

ПРИМЕЧАНИЕ

Создайте ответвление и клонируйте репозиторий . Пример:

2. Запустите aptos , чтобы создать закрытый статический ключ x25519 в шестнадцатеричном кодировании. Это будет закрытый ключ вашей сетевой идентичности.

Пир ID является синонимом AccountAddress. См. , чтобы узнать, как конструируется значение ключаaddresses .

Запуск полной ноды
aptos-labs/aptos-core
Aptos CLI
NetworkAddress