Beitrag
Teile dein Wissen.
Fehler bei der Typprüfung, wenn eine benutzerdefinierte Struktur als Typparameter in coin: :Coin von Sui Move verwendet wird?
Frage:
In meinem Sui Move-Code tritt bei der Typprüfung ein Fehler auf, den ich nicht verstehe. Hier ist eine vereinfachte Version meines Codes:
module my_module::mymodule {
use sui::coin;
use sui::wallets;
struct MyCoin has drop {}
public fun create_coin(): coin::Coin<MyCoin> {
coin::mint(1000)
}
}
Wenn ich versuche zu kompilieren, erhalte ich die folgende Fehlermeldung:
Invalid type parameter instantiation.
Expected type 'phantom type T' but found 'MyCoin'
Was mache ich falsch? Warum kann ich ihn nicht MyCoin
als Typparameter für verwendencoin::Coin
, und wie kann ich dieses Problem mit der Typprüfung beheben?
- Sui
- Architecture
Antworten
2Sie stoßen auf diesen Typprüfungsfehler, weil coin: :Coin
Das Münzmodul in Sui ist generisch gestaltet, wobei der Münztyp nur eine Markierung ist — wie ein Etikett, um eine Münze von einer anderen zu unterscheiden. Deshalb wird erwartet, dass der Typ keine tatsächlichen Daten enthält und nur zu Tippzwecken existiert.
Sie versuchen, coin: :mint (1000) zu verwenden, ohne Ihren benutzerdefinierten Münztyp MyCoin ordnungsgemäß zu registrieren. Bevor Sie in Sui Move eine benutzerdefinierte Münze prägen können, müssen Sie sie mithilfe der Funktion create_currency definieren und registrieren.
Weißt du die Antwort?
Bitte melde dich an und teile sie.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Verdiene deinen Anteil an 1000 Sui
Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.

- 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