Допис
Діліться своїми знаннями.
Помилка перевірки типу при використанні користувацької структури як параметра типу в монеті Sui Move: :Coin?
Питання:
Я стикаюся з помилкою перевірки типу в моєму коді Sui Move, яку я не розумію. Ось спрощена версія мого коду:
module my_module::mymodule {
use sui::coin;
use sui::wallets;
struct MyCoin has drop {}
public fun create_coin(): coin::Coin<MyCoin> {
coin::mint(1000)
}
}
Коли я намагаюся компілювати, я отримую таку помилку:
Invalid type parameter instantiation.
Expected type 'phantom type T' but found 'MyCoin'
Що я роблю неправильно? Чому я не можу використовувати MyCoin
як параметр типу coin::Coin
і як виправити цю проблему перевірки типу?
- Sui
- Architecture
Відповіді
2Ви отримуєте цю помилку перевірки типу, оскільки coin: :Coin
Модуль монет у Sui розроблений так, щоб бути загальним, де тип монети є лише маркером - як етикетка, щоб відрізнити одну монету від іншої. Ось чому він очікує, що тип не буде містити фактичних даних і існуватиме лише для цілей набору тексту.
Ви намагаєтеся використовувати coin: :mint (1000) без належної реєстрації вашого типу монети MyCoin. У Sui Move, перш ніж ви зможете карбувати власну монету, вам потрібно визначити та зареєструвати її за допомогою функції create_currency.
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Зароби свою частку з 1000 Sui
Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

- 0xduckmove... SUI+88
1
- harry phan... SUI+61
2
- MiniBob... SUI+57
3
- ... SUIHaGiang+56
- ... SUIRogue+47
- ... SUIRogueRig+44
- ... SUIPeera Admin+25
- ... SUIVens.sui+20
- ... SUIMarlKey+20
- ... SUIdudley_smith+16