Move.

Beitrag

Teile dein Wissen.

Bolke .
Jan 26, 2025
Experten Q&A

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
Teilen
Kommentare
.

Antworten

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

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

4
Beste Antwort
Kommentare
.
skywinder.
Jan 26 2025, 10:09

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.

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

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.

1
Kommentare
.

Weißt du die Antwort?

Bitte melde dich an und teile sie.

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

270Beiträge616Antworten
Sui.X.Peera.

Verdiene deinen Anteil an 1000 Sui

Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.