Programming Objects Tutorial Series
Sui is a blockchain centered on objects. Once you start programming non-trivial smart contracts on Sui, you will begin dealing with Sui objects in the code. Sui includes a rich, comprehensive library and testing framework to allow you to interact with objects in a safe yet flexible way.
This tutorial series walks through all the powerful ways to interact with objects in Sui Move. At the end, it also explores the designs of a few (close-to-)real-world examples to demonstrate the tradeoffs of using different object types and ownership relationships.
Chapter 1: Object Basics
- Defining Move object types, creating objects, transferring objects.
Chapter 2: Using Objects
- Passing Move objects as arguments, mutating objects, deleting objects.
Chapter 3: Immutable Objects
- Freezing an object, using immutable objects.
Chapter 4: Object Wrapping
- Wrapping objects in another object.
Chapter 5: Dynamic Fields
- Extending objects with fields that reference other objects, and that you can add, access, and remove dynamically.
Chapter 6: Collections
- Working with objects in on-chain homogeneous and heterogeneous key-value stores built on top of dynamic fields.
Limits on transactions, objects, and data
Sui has some limits on transactions and data used in transactions, such as a maximum size and number of objects used. To view the full list of limits in source code, see Transaction input limits.