Bài viết
Chia sẻ kiến thức của bạn.
Lỗi kiểm tra kiểu khi sử dụng cấu trúc tùy chỉnh làm tham số kiểu trong đồng xu của Sui Move: :Coin?
Câu hỏi:
Tôi gặp lỗi kiểm tra loại trong mã Sui Move mà tôi không hiểu. Đây là một phiên bản đơn giản của mã của tôi:
module my_module::mymodule {
use sui::coin;
use sui::wallets;
struct MyCoin has drop {}
public fun create_coin(): coin::Coin<MyCoin> {
coin::mint(1000)
}
}
Khi tôi cố gắng biên dịch, tôi gặp lỗi sau:
Invalid type parameter instantiation.
Expected type 'phantom type T' but found 'MyCoin'
Tôi đang làm gì sai? Tại sao tôi không thể sử dụng MyCoin
làm tham số kiểu coin::Coin
và làm cách nào để khắc phục sự cố kiểm tra loại này?
- Sui
- Architecture
Câu trả lời
2Bạn gặp phải lỗi kiểm tra kiểu này vì coin: :Coin
Mô-đun tiền xu trong Sui được thiết kế để mang tính chung chung, trong đó loại tiền xu chỉ là một điểm đánh dấu - giống như một nhãn để phân biệt đồng tiền này với đồng tiền khác. Đó là lý do tại sao nó mong đợi loại không mang dữ liệu thực tế và chỉ tồn tại cho mục đích gõ.
Bạn đang cố gắng sử dụng coin: :mint (1000) mà không cần đăng ký chính xác loại coin tùy chỉnh MyCoin của bạn. Trong Sui Move, trước khi bạn có thể đúc một đồng tiền tùy chỉnh, bạn cần xác định và đăng ký nó bằng hàm create_currency.
Bạn có biết câu trả lời không?
Hãy đăng nhập và chia sẻ nó.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Kiếm phần của bạn từ 1000 Sui
Tích lũy điểm danh tiếng và nhận phần thưởng khi giúp cộng đồng Sui phát triển.

- 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