Object Model
So far we have studied Move as a language: types, functions, and abilities, all operating on values that live and die within a single transaction. But a smart contract is only useful if its state persists. This chapter introduces the Object Model - the answer Sui gives to the question of how data is stored, owned, and accessed onchain.
The chapter focuses on theory and concepts, preparing you for a practical dive into storage operations and resource ownership. It reads best in order:
- Language for Digital Assets - why Move treats assets as first-class values, and which properties make an asset;
- Evolution of Move - how the original account-based storage model worked, and why Sui replaced it;
- What is an Object? - the object as the unit of storage: type, ID, owner, version, and digest;
- Ownership - the five ways an object can be owned, and what each of them allows;
- Fast Path and Consensus - how ownership determines the way a transaction is executed.
The chapters that follow build directly on these concepts: Using Objects shows how objects are defined and managed in code, and Advanced Programmability covers the features built on top of them.
This chapter is a high-level overview of the concepts and principles behind the Object Model. For a more detailed, protocol-level description, refer to the Sui Documentation.