Publication
Partagez vos connaissances.
How to convert a public key to a Sui address?
I'm trying to convert a public key to a Sui address, but I'm unsure how to do this with Sui Move. I found some information about using BLAKE2b hashing function, but I'm not clear on why Sui Move doesn't provide a straightforward function for such an important task. How can I go about this conversion?
- Move CLI
Réponses
3Pour convertir une clé publique en adresse Sui, vous devez hacher l'octet indicateur du schéma de signature concaténé avec les octets de la clé publique à l'aide de la fonction de hachage Blake2b. L'adresse Sui sera un hachage de 32 octets. Vous pouvez trouver la fonction de hachage de Blake2b dans la sui lib. Si vous recherchez un exemple Rust, vous pouvez le consulter ici.
Bien que Sui Move ne fournisse pas cette fonction directement, l'utilisation de la fonction de hachage Blake2b telle que décrite devrait vous permettre d'obtenir l'adresse Sui souhaitée. La concaténation de l'octet indicateur avec les octets de votre clé publique est une étape cruciale de ce processus.
Pour transformer une clé publique en adresse Sui, il suffit de hacher un indicateur de schéma de signature à un octet suivi des octets bruts de la clé publique à l'aide de Blake2b-256. Cela vous donne une adresse Sui de 32 octets. Le processus garantit que chaque adresse code à la fois le type de clé et ses données. C'est ainsi que Sui fait la distinction entre des clés telles que Ed25519, SecP256K1 ou SecP256R1.
Dans Rust, vous utilisez généralement les utilitaires cryptographiques du SDK Sui, qui incluent déjà cette logique. Si vous le créez à partir de zéro, utilisez la caisse blake2 pour hacher la combinaison drapeau + clé publique.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.