Move.

Publication

Partagez vos connaissances.

Bolke .
Jan 26, 2025
Questions et Réponses avec des Experts

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
4
3
Partager
Commentaires
.

Réponses

3
Xavier.eth.
Jan 27 2025, 05:55

Pour 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.

4
Meilleure réponse
Commentaires
.
skywinder.
Jan 26 2025, 10:09

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.

3
Commentaires
.
BigDev.
Aug 15 2025, 16:41

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.

1
Commentaires
.

Connaissez-vous la réponse ?

Veuillez vous connecter et la partager.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

270Publications616Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.