Sui.

Publicación

Comparte tu conocimiento.

Owen.
May 31, 2025
P&R expertos

Error de verificación de tipos al usar una estructura personalizada como parámetro de tipo en coin: :Coin de Sui Move?

Pregunta:

Me encuentro con un error de verificación de tipo en mi código Sui Move que no entiendo. Esta es una versión simplificada de mi código:

module my_module::mymodule {
    use sui::coin;
    use sui::wallets;

    struct MyCoin has drop {}

    public fun create_coin(): coin::Coin<MyCoin> {
        coin::mint(1000)
    }
}

Cuando intento compilar, aparece el siguiente error:

Invalid type parameter instantiation.
Expected type 'phantom type T' but found 'MyCoin'

¿Qué estoy haciendo mal? ¿Por qué no puedo usarlo MyCoincomo parámetro de tipo para coin::Coineste problema de verificación de tipos y cómo puedo solucionarlo?

  • Sui
  • Architecture
0
2
Cuota
Comentarios
.

Respuestas

2
HaGiang.
Jun 1 2025, 03:20

Se produce este error de verificación de tipo porque coin: :Coin espera que T sea un tipo fantasma, lo que significa que solo se usa a nivel de tipo y nunca se almacena en estructuras de datos reales. En tu código original, definiste MyCoin como una estructura normal sin parámetros de tipo ni uso de fantasmas. Eso rompe las expectativas del módulo de monedas.

El módulo de monedas de Sui está diseñado para ser genérico, donde el tipo de moneda es solo un marcador, como una etiqueta para distinguir una moneda de otra. Es por eso que espera que la tipografía no contenga datos reales y que solo exista para fines de escritura.

2
Comentarios
.
harry phan.
May 31 2025, 09:45

Estás intentando usar coin: :mint (1000) sin registrar correctamente tu tipo de moneda personalizado MyCoin. En Sui Move, antes de poder acuñar una moneda personalizada, necesitas definirla y registrarla mediante la función create_currency.

https://docs.sui.io/references/framework/sui/coin

1
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

306Publicaciones450Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

Campaña de RecompensasJunio
Usamos cookies para asegurarnos de que obtenga la mejor experiencia en nuestro sitio web.
Más información