Move Language and Sui Concepts
Move Language: Move is a safe, resource-oriented programming language initially developed for the Diem (Libra) project and later adopted by other blockchains, including Sui. It is designed to prevent common smart contract vulnerabilities by enforcing strict typing, resource management, and capability-based security patterns.
Resources: In Move, certain data types are marked as resources, meaning they must be used according to strict rules: they cannot be copied or discarded arbitrarily. This ensures valuable on-chain assets (like NFTs and coins) are never accidentally lost or duplicated.
Capabilities: Capabilities are special objects that grant permission to perform certain actions (e.g., minting additional NFTs, updating deny lists). By distributing or withholding capabilities, modules precisely control who can do what.
Modules and Entry Functions: Move code is organized into modules, which define data types, functions, and the logic of your application. Entry functions are public functions that can be called from transactions, allowing users to interact with the on-chain logic.
Sui Concepts: Sui is a high-throughput, low-latency blockchain optimized for Move-based smart contracts.
Objects: Everything in Sui is an object with a unique ID. NFTs, balances, and capabilities are all objects.
UID: A unique identifier assigned to each object when created. In ART20, each NFT and collection has its own UID.
Transaction Context (TxContext): Passed into entry functions, it provides runtime information about the transaction, enabling operations like object creation, deletion, and event emission.
Last updated