Beitrag
Teile dein Wissen.
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
Antworten
3Um einen öffentlichen Schlüssel in eine Sui-Adresse umzuwandeln, müssen Sie das Signaturschema-Flag-Byte, das mit den öffentlichen Schlüsselbytes verkettet ist, mithilfe der Blake2b-Hashing-Funktion hashen. Die Sui-Adresse wird ein 32-Byte-Hash sein. Sie finden die Blake2b-Hashing-Funktion in der sui lib. Wenn du nach einem Rust-Beispiel suchst, kannst du es dir hier ansehen.
Sui Move bietet diese Funktion zwar nicht direkt, aber wenn Sie die Blake2b-Hashing-Funktion wie beschrieben verwenden, sollten Sie die gewünschte Sui-Adresse erhalten. Das Verketten des Flag-Bytes mit den Bytes Ihres öffentlichen Schlüssels ist ein entscheidender Schritt in diesem Prozess.
Um einen öffentlichen Schlüssel in eine Sui-Adresse umzuwandeln, hashen Sie einfach ein Single-Byte-Signaturschema-Flag, gefolgt von den rohen öffentlichen Schlüsselbytes mit BLAKE2B-256. Dadurch erhalten Sie eine 32-Byte-Sui-Adresse. Der Prozess stellt sicher, dass jede Adresse sowohl den Schlüsseltyp als auch seine Daten kodiert. Auf diese Weise unterscheidet Sui zwischen Schlüsseln wie Ed25519, Secp256K1 oder Secp256R1.
In Rust würden Sie normalerweise die Krypto-Dienstprogramme des Sui SDK verwenden, die diese Logik bereits enthalten. Wenn Sie das von Grund auf neu erstellen, verwenden Sie die Blake2-Kiste, um die Kombination Flag und öffentlicher Schlüssel zu hashen.
Weißt du die Antwort?
Bitte melde dich an und teile sie.