Publicación
Comparte tu conocimiento.
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
Respuestas
3Para convertir una clave pública en una dirección Sui, es necesario aplicar un hash al byte indicador del esquema de firma concatenado con los bytes de la clave pública mediante la función de hash Blake2b. La dirección Sui será un hash de 32 bytes. Puedes encontrar la función de hash de Blake2b en sui lib. Si estás buscando un ejemplo de Rust, puedes consultarlo aquí.
Si bien Sui Move no proporciona esta función directamente, si utiliza la función de hash Blake2b tal como se describe, obtendrá la dirección Sui deseada. La concatenación del byte indicador con los bytes de la clave pública es un paso crucial en este proceso.
Para convertir una clave pública en una dirección Sui, basta con cifrar un indicador de esquema de firma de un solo byte seguido de los bytes de la clave pública sin procesar con Blake2b-256. Esto te da una dirección Sui de 32 bytes. El proceso garantiza que cada dirección codifique tanto el tipo de clave como sus datos. Así es como Sui distingue entre claves como Ed25519, SecP256k1 o SecP256r1.
En Rust, normalmente utilizarías las utilidades criptográficas del SDK de Sui, que ya incluyen esta lógica. Si estás creando esto desde cero, usa la caja blake2 para marcar la combinación de bandera y clave pública.
Sabes la respuesta?
Inicie sesión y compártalo.