帖子
分享您的知识。
Owen15
May 31, 2025
专家问答
在 Sui Move 的 coin:: 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
0
2
分享
评论
答案
2HaGiang164
Jun 1 2025, 03:20你遇到这种类型检查错误是因为 coin:: Coin
Sui中的硬币模块是通用的,其中硬币类型只是一个标记,就像一个用于区分硬币和另一种硬币的标签. 这就是为什么它期望该类型不携带实际数据,仅用于打字目的.
2
评论
harry phan421
May 31 2025, 09:45你在未正确注册自定义硬币类型 myCoin 的情况下尝试使用硬币:: mint (1000). 在 Sui Move 中,在铸造自定义硬币之前,你需要使用 create_currency 函数对其进行定义和注册.
1
评论
你知道答案吗?
请登录并分享。
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
306帖子450答案

奖励活动六月
- 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