Questa pagina è una traduzione della community e ha solo scopo informativo; fa fede la versione originale in inglese.
Versione originale ↗

Firma

Si consiglia di utilizzare un SDK esistente invece di generare le firme manualmente. Esistono molti modi in cui una firma può risultare errata. Una firma non corretta comporta il recupero di un firmatario diverso in base alla firma e al payload e produce uno dei seguenti errori:\ "L1 error: User or API Wallet 0x0123... does not exist."\ Must deposit before performing actions. User: 0x123...\ in cui l'indirizzo restituito non corrisponde all'indirizzo pubblico del wallet con cui si sta firmando. L'indirizzo restituito cambia inoltre al variare degli input.\ Una firma non corretta non indica il motivo dell'errore, il che rende il debug più complesso. Per eseguire il debug si consiglia di leggere attentamente l'SDK Python e di verificare che l'implementazione corrisponda esattamente. Se ciò non funziona, aggiungere la registrazione dei log per individuare il punto in cui l'output diverge.

Alcuni errori comuni:\ 1. Non accorgersi che esistono due schemi di firma (i metodi dell'SDK Python sono sign_l1_action e sign_user_signed_action).\ 2. Non accorgersi che l'ordine dei campi è rilevante per msgpack.\ 3. Problemi con gli zeri finali nei numeri.\ 4. Problemi con i caratteri maiuscoli nei campi degli indirizzi. Si consiglia di convertire in minuscolo qualsiasi indirizzo prima di firmare e inviare. A volte il campo viene interpretato come byte, il che ne determina la conversione automatica in minuscolo attraverso la rete.\ 5. Ritenere che la firma debba essere corretta perché la chiamata a recover signer in locale restituisce l'indirizzo corretto. Il payload per recover signer è costruito in base all'azione e non corrisponde necessariamente.

Fonte ufficiale: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/signing
Istantanea della fonte: · Mirror generato: · Traduzione della community; fa fede la versione inglese
Traduzione non ufficiale della community della documentazione Hyperliquid. Contenuti © Hyperliquid; fa fede la versione inglese. Fonte: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/signing