Sui.

Bài viết

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

Tiền thưởng+15

Xavier.eth.
Jun 17, 2025
Hỏi đáp Chuyên Gia

Làm thế nào để các ràng buộc về khả năng tương tác với các trường động trong các bộ sưu tập không đồng nhất?

Tôi đang xây dựng một thị trường cần xử lý nhiều loại tài sản với các yêu cầu về khả năng khác nhau và tôi đã gặp một số câu hỏi cơ bản về hệ thống loại hình của Move. Tôi muốn lưu trữ các loại tài sản khác nhau trong cùng một bộ sưu tập, nhưng chúng có khả năng khác nhau:

  • NFT thông thường: key + store(có thể chuyển nhượng)
  • Mã thông báo Soulbound: key chỉ (không thể chuyển nhượng)
  • Tài sản tùy chỉnh với các hạn chế chuyển nhượng
public struct Marketplace has key {
    id: UID,
    listings: Bag,  // Want to store different asset types here
}

// This works for transferable assets
public fun list_transferable<T: key + store>(
    marketplace: &mut Marketplace,
    asset: T,
    price: u64
) { /* ... */ }

// But how to handle soulbound assets?
public fun list_soulbound<T: key>(  // No store ability
    marketplace: &mut Marketplace,
    asset_ref: &T,  // Can only take reference
    price: u64
) { /* How do I store metadata about this? */ }

Các câu hỏi chính:

  • Yêu cầu về khả năng: Khi sử dụngdynamic_field::add<K, V>(), Vcó luôn cần store lúc biên dịch không? Các loại bao bọc có thể giải quyết được điều này không?
  • Lưu trữ không đồng nhất: Một Túi duy nhất có thể lưu trữ các đối tượng với các bộ khả năng khác nhau (key + store + copyvskey + store) và xử lý chúng khác nhau khi chạy không?
  • An toàn kiểu: Vì trường động thực hiện xóa kiểu, làm thế nào để duy trì độ an toàn kiểu khi truy xuất giá trị? Mẫu để lưu trữ siêu dữ liệu loại là gì?
  • Mẫu nhân chứng: Các ràng buộc về khả năng hoạt động như thế nào với các loại bóng ma? Tôi có thể lưu trữ Asset<Type1>Asset<Type2>trong cùng một bộ sưu tập và trích xuất thông tin loại sau này không?

Xây dựng một hệ thống mà NFT, token soulbound và tài sản bị hạn chế đều cần chức năng thị trường nhưng với ngữ nghĩa chuyển khác nhau.

Tôi đã thử các loại bao bọc, nhiều bộ sưu tập cho mỗi bộ khả năng, lưu trữ siêu dữ liệu loại riêng biệt. Mỗi loại đều có sự đánh đổi giữa an toàn loại, chi phí khí đốt và độ phức tạp.

  • Sui
  • Architecture
0
0
Chia sẻ
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.

325Bài viết469Câ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