Пост
Поделитесь своими знаниями.
Передаваемый актив Soulbound
Отличная статья! Я хотел бы добавить несколько практических моментов, призванных повысить безопасность конструкции и типов разнородных активов в Sui Move:
✅ dynamic_field::add<K, V>()``store
Такие активы, как токены soulbound (которые есть только у нихkey
), не могут храниться напрямую, поскольку для их хранения требуются соответствующие возможности. ID
Вместо этого храните только те метаданные store
и метаданные, которые есть в списке.
✅ Лучший подход: разделяйте коллекции в зависимости от ограничений по возможностям:
VecMap<ID, ListingWithAsset>
→ дляkey + store
активов (например, передаваемых NFT)VecMap<ID, ListingMetadata>
→key
только для активов (например, токенов soulbound)
✅ Добавьте asset_type: String
тег времени выполнения в метаданные. Это позволяет идентифицировать логику ресурсов (например, перенос, отображение) и безопасно обрабатывать ее даже после удаления типов.
✅ Фантомные типы отлично подходят для маркировки типов во время компиляции и предотвращения неправомерного использования разработчиками (например, случайной передачи непередаваемых токенов).
Эта модульная структура масштабируема, позволяет избежать нарушений функций Move и обеспечивает гибкое проектирование торговой площадки без ущерба для безопасности. Отличная работа по столь подробному объяснению!
- Sui
- NFT Ecosystem
Ответы
1В этом случае SBT будет полагаться на владельца KioskOwnercap, поэтому на самом деле это не будет связано с душой.
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

- ... SUIBigSneh+1396
- ... SUISuiLover+1333
- ... SUI0xduckmove+1207
- ... SUIThorfin+1202
- ... SUIOwen+970
- ... SUIharry phan+847
- ... SUItheking+742
- Почему BCS требует точного порядка полей для десериализации, когда структуры Move содержат именованные поля?53
- «Ошибки проверки нескольких источников» в публикациях модуля Sui Move — автоматическое устранение ошибок43
- Сбой транзакции Sui: объекты, зарезервированные для другой транзакции25
- Как ограничения возможностей взаимодействуют с динамическими полями в гетерогенных коллекциях?05