Страница переведена сообществом и носит справочный характер; актуальна английская версия.
Оригинал ↗

Подписание

Рекомендуется использовать существующий SDK вместо ручной генерации подписей. Существует множество способов ошибиться при создании подписи. Неправильная подпись приводит к восстановлению другого подписанта на основе подписи и полезной нагрузки и вызывает одну из следующих ошибок:\ "L1 error: User or API Wallet 0x0123... does not exist."\ Must deposit before performing actions. User: 0x123...\ где возвращённый адрес не совпадает с публичным адресом кошелька, которым выполняется подписание. Возвращённый адрес также меняется для разных входных данных.\ Неправильная подпись не указывает, почему она неправильна, что усложняет отладку. Для отладки рекомендуется внимательно изучить Python SDK и убедиться, что реализация в точности ему соответствует. Если это не помогает, добавьте логирование, чтобы найти место расхождения вывода.

Некоторые типичные ошибки:\ 1. Непонимание того, что существуют две схемы подписания (методы Python SDK — sign_l1_action и sign_user_signed_action).\ 2. Непонимание того, что порядок полей важен для msgpack.\ 3. Проблемы с конечными нулями в числах.\ 4. Проблемы с символами верхнего регистра в полях адресов. Рекомендуется приводить любой адрес к нижнему регистру перед подписанием и отправкой. Иногда поле парсится как байты, из-за чего оно автоматически приводится к нижнему регистру при передаче по сети.\ 5. Убеждённость в правильности подписи на том основании, что локальный вызов recover signer возвращает правильный адрес. Полезная нагрузка для recover signer конструируется на основе действия и не обязательно совпадает с ней.

Официальный источник: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/signing
Дата снимка: · Дата сборки: · Перевод сообщества; приоритет у английской версии
Неофициальный перевод сообщества. Права на контент принадлежат Hyperliquid; актуальна английская версия. Источник: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/signing