Diese Seite ist eine Community-Übersetzung und dient nur zur Orientierung; maßgeblich ist die englische Originalversion.
Englisches Original ↗

Signieren

Es wird empfohlen, ein vorhandenes SDK zu verwenden, anstatt Signaturen manuell zu erzeugen. Es gibt viele mögliche Fehlerquellen bei Signaturen. Eine falsche Signatur führt dazu, dass anhand der Signatur und des Payloads ein anderer Signer wiederhergestellt wird, und zu einem der folgenden Fehler:\ "L1 error: User or API Wallet 0x0123... does not exist."\ Must deposit before performing actions. User: 0x123...\ wobei die zurückgegebene Adresse nicht mit der öffentlichen Adresse des Wallets übereinstimmt, mit dem Sie signieren. Die zurückgegebene Adresse ändert sich zudem bei unterschiedlichen Eingaben.\ Eine falsche Signatur gibt keinen Aufschluss darüber, warum sie falsch ist, was die Fehlersuche erschwert. Zur Fehlersuche wird empfohlen, das Python SDK sorgfältig durchzulesen und sicherzustellen, dass die Implementierung exakt übereinstimmt. Falls dies nicht hilft, fügen Sie Logging hinzu, um festzustellen, wo die Ausgabe abweicht.

Einige häufige Fehler:\ 1. Nicht zu beachten, dass es zwei Signaturschemata gibt (die Methoden des Python SDK sind sign_l1_action bzw. sign_user_signed_action).\ 2. Nicht zu beachten, dass die Reihenfolge der Felder für msgpack relevant ist.\ 3. Probleme mit nachgestellten Nullen bei Zahlen.\ 4. Probleme mit Großbuchstaben in Adressfeldern. Es wird empfohlen, jede Adresse vor dem Signieren und Senden in Kleinbuchstaben umzuwandeln. Manchmal wird das Feld als Bytes geparst, wodurch es im Netzwerk automatisch in Kleinbuchstaben umgewandelt wird.\ 5. Der Glaube, die Signatur müsse korrekt sein, weil der lokale Aufruf von recover signer die richtige Adresse ergibt. Der Payload für recover signer wird auf Grundlage der Action konstruiert und stimmt nicht zwangsläufig überein.

Inoffizielle Community-Übersetzung der Hyperliquid-Dokumentation. Inhalte © Hyperliquid; maßgeblich ist die englische Version. Quelle: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/signing