Move.

Допис

Діліться своїми знаннями.

Bolke .
Jan 26, 2025
Питання та відповіді експертів

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
Поділитися
Коментарі
.

Відповіді

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

Щоб перетворити відкритий ключ на адресу Sui, вам потрібно хешувати байт прапорця схеми підпису, об'єднаний з байтами відкритого ключа за допомогою функції хешування Blake2b. Адреса Sui буде 32-байтовим хешем. Ви можете знайти функцію хешування Blake2b у sui lib. Якщо ви шукаєте приклад Rust, ви можете перевірити його тут.

4
Найкраща відповідь
Коментарі
.
skywinder.
Jan 26 2025, 10:09

Хоча Sui Move не надає цю функцію безпосередньо, використання функції хешування Blake2b, як описано, має отримати бажану адресу Sui. Об'єднання байта прапорця з вашими байтами відкритого ключа є вирішальним кроком у цьому процесі.

3
Коментарі
.
BigDev.
Aug 15 2025, 16:41

Щоб перетворити відкритий ключ на адресу Sui, просто хешіть прапор однобайтової схеми підпису, а потім необроблені байти відкритого ключа за допомогою Blake2b-256. Це дає вам 32-байтну адресу Sui. Процес гарантує, що кожна адреса кодує як тип ключа, так і його дані. Ось як Sui розрізняє клавіші, такі як Ed25519, SecP256k1 або SecP256R1.

У Rust ви зазвичай використовуєте криптоутиліти Sui SDK, які вже включають цю логіку. Якщо ви створюєте це з нуля, використовуйте ящик blake2, щоб хешувати комбінацію прапор+відкритий ключ.

1
Коментарі
.

Ви знаєте відповідь?

Будь ласка, увійдіть та поділіться нею.

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

270Пости616Відповіді
Sui.X.Peera.

Зароби свою частку з 1000 Sui

Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.