Ноды / Nodes
September 15

HyperLiquid: Будущий узел для децентрализации проекта? Руководство по установке

Введение

Hyperliquid — это децентрализованная бессрочная биржа, предлагающая высочайшую скорость, ликвидность и цены.

Hyperliquid — это высокопроизводительный блокчейн уровня 1, оптимизированный с нуля.

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

Мы не зарабатываем на Вас. Просто подпишитесь на наш канал ТГ и получайте эксклюзивную информацию о нодах и не только, раньше всех! Вокруг Крипты и Youtube👍

1- Конфигурация VPS

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

Лично я выбрал Contabo , известного провайдера VPS, за его надежность и производительность.

Необходимая конфигурация для запуска узла HyperLiquid требует промежуточной настройки.

Поэтому я рекомендую Cloud VPS 2.Если вы хотите запустить дополнительные узлы на своем VPS, рассмотрите возможность перехода на следующий уровень.

Теперь ваша очередь…

Чтобы заказать Contabo VPS, вы можете перейти по этой ссылке .

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

Выберите объем хранилища 400 ГБ и образ Ubuntu 22.04 для своей конфигурации.

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

Для подключения к вашему VPS я рекомендую следовать этому подробному руководству . Вам нужно будет загрузить программное обеспечение Putty , которое позволит вам установить безопасное соединение с вашим VPS и получить доступ к его функциям.

2- Создание пользователя

Узел не может быть запущен из пользователя root. Вам необходимо создать пользователя на вашем VPS для запуска вашего узла:

adduser hl usermod -aG sudo hl
Установите пароль для своего сеанса, затем нажмите ENTER, чтобы принять значения по умолчанию.

Установите пароль для своего сеанса, затем нажмите ENTER, чтобы принять значения по умолчанию.

Затем войдите в свой сеанс:

вс - хл

3- Установка основных компонентов

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

sudo apt - получить  обновление  && sudo apt - получить обновление - y
Скопируйте команду и щелкните правой кнопкой мыши в терминале, чтобы вставить ее.

Экран загрузки

apt- получить экран установки -y

4- Конфигурация узла

Загрузите начальный набор пиров, чтобы установить первое соединение между вашим узлом и остальной частью сети:

curl https://binaries.hyperliquid.xyz/Testnet/initial_peers.json > ~/initial_peers.json

Настройте узел для работы в тестовой сети:

echo  '{"chain": "Testnet"}' > ~/visor.json

Загрузите файл конфигурации:

curl https://binaries.hyperliquid.xyz/Testnet/non_validator_config.json > ~/non_validator_config.json

Загрузите двоичный файл Visor:

curl https://binaries.hyperliquid.xyz/Testnet/hl-visor > ~/hl-visor && chmod a+x ~/hl-visor

5- Запуск узла

Вы можете запустить свой узел в сеансе Screen:

экран -S hl

Откроется новый сеанс, в котором вы сможете запустить свой узел в фоновом режиме.

Чтобы отключиться от сеанса, нажмите CTRL+A+D.

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

экран -r hl

Запустите свой узел HyperLiquid:

~/hl-визор
Le nœud n'affichera pas de message

Узел не будет отображать никаких сообщений. Теперь вы можете выйти из сеанса Screen, нажав CTRL+A+D

Вы можете проверить , работает ли ваш узел, проверив hlсуществование каталога:

лс

Запуск узла по официальной документации

Технические характеристики машины

Рекомендуемое оборудование: 4 ядра ЦП, 16 ГБ ОЗУ, 50 ГБ дискового пространства.

В настоящее время поддерживается только Ubuntu 24.04.

Порты 8000 и 9000 используются для сплетен и должны быть открыты для публики. В противном случае IP-адрес узла будет лишен приоритета пирами в p2p-сети.

Для минимальной задержки запустите узел в Токио, Япония.

Настраивать

Настройте цепочку для testnet. Mainnet будет доступен после завершения тестирования в testnet:

echo '{"chain": "Testnet"}' > ~/visor.json

Загрузите двоичный файл Visor, который будет создавать и управлять процессом дочернего узла:

curl https://binaries.hyperliquid.xyz/Testnet/hl-visor > ~/hl-visor && chmod a+x ~/hl-visor

Запуск невалидатора

Запустить ~/hl-visor run-non-validator. Это может занять некоторое время, пока узел перемещается по сети, чтобы найти подходящий одноранговый узел для потоковой передачи. Такие журналы applied block Xозначают, что узел должен транслировать данные в реальном времени.

Чтение данных L1

Процесс узла будет записывать данные в ~/hl/data. При настройках по умолчанию сеть будет генерировать около 20 ГБ журналов в день, поэтому также рекомендуется архивировать или удалять старые файлы.

Блоки, проанализированные как транзакции, будут переданы в потоковом режиме~/hl/data/replica_cmds/{start_time}/{date}/{height}

Снимки состояния будут сохраняться каждые 10000 блоков~/hl/data/periodic_abci_states/{date}/{height}.rmp

Состояние можно перевести в формат JSON для проверки:

./hl-node translate-abci-state ~/hl/data/periodic_abci_states/{date}/{height}.rmp /tmp/out.json

Торги будут транслироваться на ~/hl/data/node_trades/hourly/{date}/{hour}.

Заказы можно передавать потоком, запустив ~/hl-visor run-non-validator --write-order-statuses. Это запишет каждый статус заказа L1 в ~/hl/data/node_order_statuses/hourly/{date}/{hour}. Заказы могут содержать значительный объем данных, поэтому этот флаг по умолчанию отключен.

ЭВМ

EVM RPC можно включить, передав флаг --evm ~/hl-visor run-non-validator --evm. После запуска вы можете отправлять запросы evm post на порт localhost 3001. Напримерcurl -X POST --header 'Content-Type: application/json' --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false],"id":1}' http://localhost:3001/evm

Запуск узла проверки

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

Сгенерировать конфигурацию

Сгенерируйте кошелек-валидатор (используйте безопасно сгенерированный ключ):

echo '{"key": "8888888888888888888888888888888888888888888888888888888888888888"}' > ~/hl/hyperliquid_data/node_config.json

В командах ниже <node-wallet-key>используется шестнадцатеричная строка из файла конфигурации выше.

Убедитесь, что пользователь-валидатор существует

Адрес валидатора должен иметь ненулевой баланс perps USDC, иначе он не сможет отправлять подписанные действия для регистрации в качестве валидатора. Эта команда выводит пользователя валидатора:

~/hl-node --chain Testnet print-address <node-wallet-key>

Присоединяйтесь к сети

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

Зарегистрируйте публичный IP-адрес валидатора, а также отображаемое имя и описание:

~/hl-node --chain Testnet send-signed-action '{"type": "CValidatorAction", "register": {"profile": {"node_ip": {"Ip": "1.2.3.4"}, "name": "...", "description": "..." }}}' <node-wallet-key>

Убедитесь, что порты 4000, 5000, 6000, 7000, 8000, 9000 открыты для валидаторов. Либо откройте порты для публики, либо используйте брандмауэр, разрешающий валидаторам, которые находятся в моментальных c_stakingснимках состояния. Обратите внимание, что набор валидаторов и IP-адреса являются динамическими.

Запустите валидатор

Запустите валидатор, используя двоичный файл Visor, чтобы получить обновления.curl https://binaries.hyperliquid.xyz/Testnet/hl-visor > hl-visor && ./hl-visor run-validator

Чтобы устранить проблему, часто проще ./hl-node run-validatorсразу запустить stderr и отключить перезапуски.

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

echo '{ "root_node_ips": [{"Ip": "1.2.3.4"}], "try_new_peers": false }' > ~/override_gossip_config.json

Начать проверку

На данный момент регистрация и изменение IP-адреса автоматически запирают валидатор, чтобы он изначально не участвовал в консенсусе. Когда ожидаемые выходные данные будут транслироваться в ~/hl/data/consensus{wallet_user}/{date}, отправьте следующее действие, чтобы начать участвовать в консенсусе:

~/hl-node --chain Testnet send-signed-action '{"type": "CValidatorAction", "unjailSelf": null}' <node-wallet-key>

Чтобы выйти из консенсуса, выполните следующую команду для «самоизоляции» и дождитесь, пока валидатор покинет активный набор, прежде чем завершить работу.

~/hl-node --chain Testnet send-signed-action '{"type": "CValidatorAction", "jailSelf": null}' <node-wallet-key>

Разное

Смотрите информацию о текущих валидаторах:

curl -X POST --header "Content-Type: application/json" --data '{ "type": "validatorSummaries"}' https://api.hyperliquid-testnet.xyz/info

Измените профиль валидатора, если он уже зарегистрирован:

~/hl-node --chain Testnet send-signed-action '{"type": "CValidatorAction", "changeProfile": {"node_ip": {"Ip": "1.2.3.4"}, "name": "..."}}' <node-wallet-key>

Работа с Docker

Чтобы построить узел, выполните:

docker compose build

Чтобы запустить узел, выполните:

docker compose up -d

Поиск неисправностей

Журналы сбоев дочернего процесса будут записаны в~/hl/data/visor_child_stderr/{date}/{node_binary_index}

Вы также можете присоединиться к социальным сетям проектов:

Спасибо за прочтение! Пожалуйста, поделитесь своим отзывом в комментариях и подпишитесь на меня в социальных сетях, если вам понравилась статья. Я также создал сообщество Telegram, где мы можем собираться и обсуждать интересные темы, связанные с криптовалютой. Вы можете присоединиться к нам и принять участие в обсуждении → Telegram: Contact @razgules