Multi-firma
Funzionalità avanzata
HyperCore supporta nativamente le azioni multi-firma. Ciò consente a più chiavi private di controllare un unico account per una maggiore sicurezza. A differenza di altre chain, la multi-firma è disponibile su HyperCore come primitiva integrata, anziché basarsi su smart contract.
Il flusso di lavoro della multi-firma è descritto di seguito:
- Per convertire un utente in un utente multi-firma, l'utente invia un'azione
ConvertToMultiSigUsercon gli utenti autorizzati e il numero minimo di utenti autorizzati richiesto per firmare un'azione. Gli utenti autorizzati devono essere utenti già esistenti su Hyperliquid. Una volta che un utente è stato convertito in un utente multi-firma, tutte le sue azioni devono essere inviate tramite multi-firma. - Per inviare un'azione, ciascun utente autorizzato deve firmare un payload per produrre una firma. Un'azione
MultiSigracchiude una qualsiasi azione normale e include un elenco di firme degli utenti autorizzati. - Il payload
MultiSigcontiene inoltre l'utente multi-firma di destinazione e l'utente autorizzato che invierà infine l'azioneMultiSigalla blockchain. Il mittente dell'azione finale è anche noto comeleader(indirizzo principale della transazione) dell'azione multi-firma. - Quando viene inviata un'azione multi-firma, viene convalidato e aggiornato solo il set di nonce dell'utente autorizzato che ha inviato la transazione.
- Come per le azioni normali, il leader può anche essere un wallet API di un utente autorizzato. In questo caso, il nonce del wallet API viene controllato e aggiornato.
- L'insieme degli utenti autorizzati e/o la soglia di un utente multi-firma possono essere aggiornati inviando un'azione
MultiSigche racchiude un'azioneConvertToMultiSigUserdescrittiva del nuovo stato. - Un utente multi-firma può essere riconvertito in un utente normale inviando un'azione
ConvertToMultiSigUsertramite multi-firma. In questo caso, l'insieme degli utenti autorizzati può essere impostato come vuoto e verrà eseguita la conversione in utente normale.
Note varie:
- Il leader (indirizzo principale della transazione) deve essere un utente autorizzato, non l'account multi-firma
- Ogni firma deve utilizzare le stesse informazioni, ad esempio lo stesso nonce, lo stesso indirizzo principale della transazione, ecc.
- Il leader deve raccogliere tutte le firme prima di inviare l'azione
- Un utente può essere contemporaneamente un utente multi-firma e un utente autorizzato per un altro utente multi-firma. Un utente può essere utente autorizzato per più utenti multi-firma. Il numero massimo consentito di utenti autorizzati per un dato utente multi-firma è 10.
Nota importante per gli utenti HyperEVM: la conversione di un utente in multi-firma lascia comunque l'utente HyperEVM controllabile dal wallet originale. CoreWriter non funziona per gli utenti multi-firma. In generale, gli utenti multi-firma non dovrebbero interagire con HyperEVM né prima né dopo la conversione.
Per esempi di codice si veda il Python SDK.