Sui.

Bài viết

Chia sẻ kiến thức của bạn.

Owen.
May 31, 2025
Hỏi đáp Chuyên Gia

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 MyCoinlàm tham số kiểu coin::Coinvà làm cách nào để khắc phục sự cố kiểm tra loại này?

  • Sui
  • Architecture
0
2
Chia sẻ
Bình luận
.

Câu trả lời

2
HaGiang.
Jun 1 2025, 03:20

Bạn gặp phải lỗi kiểm tra kiểu này vì coin: :Coin mong đợi T là một loại ảo - có nghĩa là nó chỉ được sử dụng ở cấp độ loại và không bao giờ được lưu trữ trong cấu trúc dữ liệu thực tế. Trong mã ban đầu của bạn, bạn đã định nghĩa MyCoin là một cấu trúc bình thường mà không có bất kỳ tham số loại hoặc sử dụng ảo nào. Điều đó phá vỡ kỳ vọng của mô-đun tiền xu.

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õ.

2
Bình luận
.
harry phan.
May 31 2025, 09:45

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.

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

1
Bình luận
.

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.

306Bài viết450Câu trả lời
Sui.X.Peera.

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.

Chiến dịch phần thưởngTháng Sáu
Chúng tôi sử dụng cookie để đảm bảo bạn có trải nghiệm tốt nhất trên trang web của chúng tôi.
Thêm thông tin