What problem does it solve?
It solves confusion and costly mistakes when modeling onchain data in Sui by explaining how objects work (structure, versioning, ownership) and how to choose the right storage, transfer, and access patterns.
Core Features & Use Cases
- Object fundamentals: Clarifies the four components of a Sui object (ID, version, owner, transaction digest) and how transactions consume/produce object versions.
- Ownership decision-making: Covers address-owned, shared, immutable (frozen), party/consensus-address-owned, and wrapped objects, including consensus and parallelism implications.
- Transfer, sharing, and deletion: Explains module-restricted vs public transfer functions, custom transfer rules, Receiving<T> patterns for transfer-to-object, and the correct way to delete/unpack objects (especially those without drop).
- Dynamic fields and collection storage: Differentiates dynamic_field vs dynamic_object_field and compares Table, Bag, VecMap, VecSet, and LinkedTable (including scalability and cleanup requirements).
- Modeling patterns for real systems: Provides guidance for hot potato workflows, capability-based permissions (AdminCap/TreasuryCap), soulbound/non-transferable objects, inventories, and derived objects vs dynamic fields.
- Object Display (V2): Shows how to configure wallet/explorer rendering using DisplayRegistry, templates, publisher/cap mechanics, and migration expectations.
Quick Start
Use the sui-object-model skill to answer: “How should I model an inventory that holds arbitrary NFTs and keep them transferable according to my rules, including the right ownership and storage pattern?”