This section provides practical, implementation-focused examples designed to accelerate your journey developing on Sui.
Whether you are new to blockchain development or an experienced Sui developer, these resources offer structured guidance for building applications, creating assets, and leveraging Sui's unique technical features effectively.
Get started developing on Sui
Install tooling, setup your environment, and deploy a "Hello, World!" Move package to start your Sui developer experience.
Install the Sui framework and its required prerequisites on your system.
The Sui client configuration specifies which network to connect to and which address to send transactions.
You need an address on the Sui network before you can build packages and own objects.
Use the Sui faucet to obtain free SUI tokens for use on the Sui Devnet and Testnet networks.
Create and publish your first Move package using a basic 'Hello, World!' example.
To continue your journey building on Sui, you can review other documentation, join the community of other Sui builders, or check out the Awesome Sui repo.
Sui essentials
Follow these guides to learn about essential Sui concepts.
On Sui, object ownership can be represented in different ways. Weigh the benefits of each to decide the best approach for your project.
Use events to notify on-chain assets of activity your smart contracts initiate and query events from other packages to trigger logic based on emitted events.
Overview of the types of data access mechanisms available in Sui.
Access network-based time for your transactions. Sui provides a Clock module to capture near-real time or epoch time in your Sui packages.
Signing and sending transactions
Learn about signing and sending transactions.
Sponsored transactions are a primitive on the Sui blockchain that enable the execution of a transaction where you pay the gas fee for your users transactions.
Avoid unintentionally locking objects with your smart contract logic.
Using the Sui TypeScript SDK, you can create programmable transaction blocks to perform multiple commands in a single transaction.
Because Sui uses coins as owned objects for transactions, you need to explicitly manage them in your programmable transaction block development.
Use the borrow module in the Sui framework to include objects by reference in your programmable transaction blocks.
Coins, tokens, and NFTs
Learn how to mint coins and tokens on Sui.
Learn how to create currencies and mint coins and tokens on the Sui network using the Coin Registry system.
You can create regulated currencies on Sui using the Coin Registry system. These coins include the ability to control access using a deny list.
Use the Sui Closed-Loop Token standard to create tokens that you can use as currency within a game application.
Use the Sui Closed-Loop Token standard to create tokens that are only valid within specific workflows and services. One example of Closed-Loop Tokens is a loyalty token.
On Sui, everything is an object. Moreover, everything is a non-fungible token (NFT) as its objects are unique, non-fungible, and owned.
An example using Sui Move struct abilities and the Sui Framework's `transfer` module to make a NFT soulbound (non-transferable).
An example using the Kiosk Apps standard that provides the ability for users to rent NFTs according to the rules of a provided policy instead of outright owning them. This approach closely aligns with the ERC-4907 renting standard, making it a suitable choice for Solidity-based use cases intended for implementation on Sui.
Learn how to tokenize assets on the Sui blockchain. Asset tokenization refers to the process of representing real-world assets, such as real estate, art, commodities, stocks, or other valuable assets, as digital tokens on the blockchain network.
Cryptography
Learn about on-chain signatures, multisig authentication, and zkLogin.
Sui supports verification within Move smart contracts through several signature schemes. Signature schemes include Ed25519, Secp256k1 recoverable, Secp256k1 non-recoverable, Secp256r1 non-recoverable, Secp256r1 recoverable, BLS G1, and BLS G2.
Zero-knowledge proofs are used to validate statements without revealing information about the proof's inputs.
Sui supports SHA2-256, SHA3-256, Keccak256, and Blake2b-256 cryptographic hash functions.
Elliptic curve verifiable random function is a cryptographic algorithm that enables you to generate a random number and provide proof that the number used a secret key for generation.
Guide on how to create a multisig transaction and then submit it against a local network using the Sui CLI.
zkLogin can be integrated with an application using an OpenID provider's OAuth Client ID and redirect URI.
An example that breaks down the logic behind each step of zkLogin.
Indexers
Build your own custom indexer, integrate it with your application, and benchmark its performance.
Build a custom indexer using the `sui-indexer-alt-framework` module. The example indexer demonstrates a sequential pipeline that extracts transaction digests from Sui checkpoints and stores them in a local PostgreSQL.
Walrus is a content-addressable storage protocol, where data is retrieved using a unique identifier derived from the content itself, rather than from a file path or location. Integrating a custom Sui Indexer with Walrus can provide novel user experiences.
Learn how to integrate custom data sources and storage systems with Sui indexers. Covers checkpoint data sources, custom store implementations, and Move event deserialization for building flexible indexing solutions.
Learn how to optimize Sui custom indexer performance through runtime configuration, resource monitoring, and debugging tools. Covers ingestion settings, database tuning, Tokio console debugging, Prometheus metrics, and data pruning strategies.
Example applications
Try out these example applications to learn more about Sui.
An app that allows users to create counters that anyone can increment, but only the owner can reset.
An app that performs atomic swaps on Sui. Atomic swaps are similar to escrows but without requiring a trusted third party.
Learn Sui through a coin flip dApp that covers the full end-to-end flow of building a Sui Move module and connecting it to a React Sui dApp.
This example app creates a food rating service that stores all review data and algorithms on-chain.
Learn Sui using an example implementation of the popular casino game Blackjack.
Learn Sui through an example implementation of the popular casino game, Plinko.
This example demonstrates how to create three variations of a tic-tac-toe app on Sui.
Write a module (smart contract) in Move that fetches the weather data from the OpenWeather API every 10 minutes and updates the weather conditions for over 1,000 locations around the world.
Validating and operating nodes on Sui
Processes and guides for validators and node operators on the Sui network.
Learn how to set up, configure, and manage a Sui validator node.
Operate a Sui full node to validate blockchain activities, like transactions, checkpoints, and epoch changes.
A high-level description of data management on the Sui network that you can use to optimize your Sui full node configuration.
Correct configuration of your node ensures optimal performance and valid metrics data.