Полная нода с использованием Aptos Source или Docker
Вы можете запустить свою собственную полную ноду, чтобы синхронизироваться с состоянием блокчейна Aptos и оставаться в курсе последних событий. Полная нода воспроизводит все состояние блокчейна, запрашивая другие ноды Aptos или валидаторы.
В качестве альтернативы можно использовать полные ноды, предоставляемые Aptos Labs. Однако такие полные ноды, предоставляемые Aptos Labs, имеют ограничения по скорости, что может помешать вашему развитию. Запустив свою собственную полную ноду, вы сможете напрямую синхронизироваться с блокчейном Aptos и избежать подобных ограничений.
Запускать полные ноды может любой желающий. В этом руководстве объясняется, как настроить публичную полную ноду для подключения к Aptos devnet.
Совет Ваша публичная полная нода будет подключена к Aptos devnet с конечной точкой REST, доступной на вашем компьютере по адресу localhost:8080, если вы следуете настройкам по умолчанию в этом документе. Для подключения к AIT3 или другой сети, убедитесь, что вы заменили всю необходимую информацию.
Прежде чем приступить к работе
Прежде чем приступить к работе с этим руководством, прочитайте следующие разделы:
Требования к оборудованию
Мы рекомендуем следующие технические характеристики:
Для запуска полной ноды производственного уровня:
ПРОЦЕССОР( CPU): 8 ядер, 16 процессов (Intel Xeon Skylake или новее).
Память: 32 ГБ ОЗУ.
Для запуска полной ноды для разработки или тестирования:
Процессор: 2 ядра.
Память: 4 ГБ ОЗУ.
Требования к хранилищу
Объем данных, хранимых Aptos, зависит от истории (длины) блокчейна и количества состояний на сети (например, учетных записей). Эти значения зависят от нескольких факторов, в том числе: возраста блокчейна, средней скорости транзакций и конфигурации программы обрезки записей.
Подсказка
Учитывая, что в настоящее время сброс devnet происходит еженедельно, мы предполагаем, что Aptos не потребуется более нескольких гигабайт памяти. Смотрите канал #devnet-release
на Aptos Discord.
Настройка полной ноды
Вы можете настроить публичную полную ноду одним из двух способов:
Сборка и запуск aptos-core из исходного кода.
Использование Docker.
В этом документе описано, как настроить публичную полную ноду, используя оба метода.
Метод №1: Сборка и запуск из исходного кода Aptos-core
Клонируйте репозиторий Aptos.
cd
в каталогaptos-core
.Запустите Bash-скрипт
scripts/dev_setup.sh
, как показано ниже. Это подготовит вашу среду разработчика..Обновите текущую среду shell.
Когда среда разработки готова, можно приступать к настройке полной ноды.
5. Проверьте ветку devnet
, используя git checkout --track origin/devnet
.
6. Убедитесь, что ваш текущий рабочий каталог aptos-core
. Запустите cp config/src/config/test_data/public_full_node.yaml fullnode.yaml
чтобы создать копию шаблона настройки полной ноды. Вы отредактируете этот файл, чтобы убедиться, что ваша полная нода:
Содержит правильный genesis blob, который публикуется Aptos devnet.
Правильно синхронизируется с devnet, используя файл контрольной точки
waypoint.txt
, опубликованный devnet, иХранит базу данных devnet в выбранном вами месте на локальном компьютере.
7. Убедитесь, что ваш текущий рабочий каталог aptos-core
. В Aptos devnet опубликованы файлы genesis.blob
и waypoint.txt
. Скачайте их:
Нажмите здесь genesis или выполните приведенную ниже команду в терминале:
Щелкните здесь waypoint и сохраните файл, или выполните приведенную ниже команду в терминале:
ПОДСКАЗКА Чтобы подключиться к другим сетям, вы можете найти genesis и waypoint здесь -> https://github.com/aptos-labs/aptos-genesis-waypoint.
8. Отредактируйте файл fullnode.yaml
в текущем рабочем каталоге следующим образом.
Укажите правильный путь к только что загруженному файлу
waypoint.txt,
отредактировав файлbase.waypoint.from_file
в файлеfullnode.yaml
. По умолчанию он указывает наwaypoint.txt
в текущем рабочем каталоге. Например.Для ключа
genesis_file_location
укажите полный путь к файлуgenesis.blob
. Например:Для ключа
data_dir
вbase
укажите каталог, в котором на вашем локальном компьютере вы хотите хранить базу данных devnet. Это может быть любое место на вашем компьютере. Например, вы можете создать каталогmy-full-node/data
в своем домашнем каталоге и указать его как:
9. Запустите свою локальную полную ноду, выполнив приведенную ниже команду:
Теперь вы успешно настроили и запустили полную ноду, подключенный к Aptos devnet.
ПРИМЕЧАНИЕ
В результате будет собран двоичный файл релиза: aptos-core/target/release/aptos-node
. Релизные бинарные файлы обычно значительно быстрее отладочных бинарных файлов, но в них отсутствует отладочная информация, полезная для разработки. Чтобы собрать отладочный бинарный файл, отмените флаг --release
.
Метод №2: Использование Docker
В этом разделе описывается, как настроить и запустить вашу полную ноду с помощью Docker.
ЗАПУСК APTOS-CORE ЧЕРЕЗ DOCKER В НАСТОЯЩЕЕ ВРЕМЯ ПОДДЕРЖИВАЕТСЯ ТОЛЬКО НА ПРОЦЕССОРАХ X86-64 И НЕ ПОДДЕРЖИВАЕТСЯ НА ПРОЦЕССОРАХ ARM64 (К КОТОРЫМ ОТНОСЯТСЯ MACS M1/M2). В настоящее время мы публикуем только образы docker, совместимые с процессорами x86-64. Если у вас M1/M2 (ARM64) Mac, используйте исходный код Aptos-core. Если поддержка M1/M2 важна для вас, пожалуйста, прокомментируйте и следите за этим вопросом: https://github.com/aptos-labs/aptos-core/issues/1412.
Установите Docker.
Создайте каталог для вашего локальной публичного полной ноды и
cd
. Например:Запустите следующий скрипт, чтобы подготовить локальный каталог настроек и данных для Devnet:
ПОДСКАЗКА Чтобы подключиться к другим сетям, вы можете найти genesis и waypoint здесь -> https://github.com/aptos-labs/aptos-genesis-waypoint.
4. Наконец, запустите полную ноду через docker:
Убедитесь, что вы открыли соответствующие порты - 8080, 9101 и 6180, а также вам может понадобиться обновить 127.0.0.1 на 0.0.0.0 в файле public_full_node.yaml - listen_address и api\address.
Проверьте правильность работы вашей полной ноды
Проверка начальной синхронизации
Во время начальной синхронизации вашей полной ноды может потребоваться передача большого количества данных. Вы можете следить за ходом процесса, запросив порт метрики, чтобы узнать, с какой версией в настоящее время синхронизирован ваша нода. Выполните следующую команду, чтобы узнать текущую синхронизированную версию вашей ноды:
Команда выведет текущую синхронизированную версию вашей ноды. Например:
Сравните синхронизированную версию, возвращаемую этой командой (например, 71000
), с Current Version
(последней), показанной на странице состояния Aptos. Если ваша нода догоняет текущую версию, значит, синхронизация выполняется правильно.
ПРИМЕЧАНИЕ Не страшно, если страница состояния отличается на несколько версий, так как страница состояния не обновляется автоматически.
(Необязательно) Проверьте внешние сетевые подключение
По желанию можно проверить исходящие сетевые подключения. Количество исходящих сетевых подключений должно быть больше 0
. Выполните следующую команду:
Приведенная выше команда выведет количество исходящих сетевых соединений для вашей ноды. Например:
Если количество исходящих соединений равно 0
, это означает, что ваша нода не может подключиться к блокчейну Aptos. Если это произошло с вами, выполните следующие действия, чтобы решить проблему:
Обновите свою ноду до последней версии, следуя инструкциям по обновлению.
Удалите все
seed
пиры, которые вы добавили в файл конфигурацииpublic_full_node.yaml
. Seeds могут мешать вам подключиться к сети. Семенные пиры обсуждаются в разделе Добавление seed пиров восходящего потока.
(Необязательно) Изучите объем реестра Docker
Объем блокчейн-реестра для Aptos devnet можно отслеживать, введя идентификатор хранилища Docker и проверив объем. Это позволит вам увидеть, какой объем памяти в настоящее время занимает блокчейн-реестр.
Сначала запустите
docker container ls
в терминале и скопируйте вывод поля NAME. Это будет строка, похожая наpublic_full_node_fullnode_1
.Далее выполните эти команды для проверки объема хранилища, потребляемого реестром, используя поле NAME, которое вы скопировали вместо
public_full_node_fullnode_1
:
Добавление внешних seed пиров
ПОДСКАЗКА
Вы можете увидеть NoAvailablePeers
в сообщениях об ошибках вашей ноды. Это нормальное явление при первом запуске ноды. Подождите, пока ноды не запустится в течение нескольких минут, и посмотрите, подключается ли она к пирам. Если нет, выполните следующие действия:
Валидатор полной ноды Devnet будет принимать только максимальное количество соединений. Если Aptos devnet испытывает большой объем сетевых соединений, ваша полная нода может не иметь возможности подключиться, и вы можете постоянно видеть NoAvailablePeers
в сообщениях об ошибках вашей ноды. Если это произошло, вручную добавьте адреса пиров в seeds
ключ в public_full_node.yaml
, файл настройки полной ноды. Это позволит подключить вашу полную ноду к указанному seed пиру.
Ниже приведены несколько адресов seed пиров, которые можно использовать в файле public_full_node.yaml.
ПОДСКАЗКА
Вы также можете использовать адреса полной ноды, предоставленные сообществом Aptos. Тот, кто уже использует полные ноды, может предоставить свой адрес для подключения. Смотрите канал #advertise-full-nodes
в Aptos Discord.
Добавьте их в файл настройки public_full_node.yaml
в разделе discovery_method
, как показано в примере ниже:
Last updated