Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add dam2onkid/solo-dev-skills --skill "sui-ts-dev"
Install specific skill from multi-skill repository
# Description
Build Sui blockchain apps with @mysten/sui TypeScript SDK. Use when creating SuiClient, building/signing transactions (PTB), querying objects/events/balances, using faucet, integrating React/Next.js dApp-kit hooks (useCurrentAccount, useSignTransaction, useConnectWallet, useSuiClientQuery), wallet connection, Move calls, zkLogin OAuth, Passkey WebAuthn, Walrus storage, Seal secrets, Nautilus TEE, SuiNS names, DeepBook DEX, Mysticeti consensus, or SUI tokenomics/staking.
# SKILL.md
name: sui-ts-dev
description: Build Sui blockchain apps with @mysten/sui TypeScript SDK. Use when creating SuiClient, building/signing transactions (PTB), querying objects/events/balances, using faucet, integrating React/Next.js dApp-kit hooks (useCurrentAccount, useSignTransaction, useConnectWallet, useSuiClientQuery), wallet connection, Move calls, zkLogin OAuth, Passkey WebAuthn, Walrus storage, Seal secrets, Nautilus TEE, SuiNS names, DeepBook DEX, Mysticeti consensus, or SUI tokenomics/staking.
Sui TypeScript SDK
Build applications on the Sui blockchain using the official Mysten Labs TypeScript SDK.
Quick Start
npm i @mysten/sui
npm i @mysten/dapp-kit # for React apps
Core Concepts
SuiClient Setup
import { getFullnodeUrl, SuiClient } from "@mysten/sui/client";
const client = new SuiClient({ url: getFullnodeUrl("devnet") });
Transaction Building (PTB)
import { Transaction } from "@mysten/sui/transactions";
const tx = new Transaction();
tx.moveCall({
target: `${packageId}::module::function`,
arguments: [tx.pure.string("arg1"), tx.object(objectId)],
});
const { bytes, signature } = await tx.sign({ client, signer: keypair });
const result = await client.executeTransactionBlock({
transactionBlock: bytes,
signature,
options: { showEffects: true },
});
React dApp-Kit
import {
ConnectButton,
useCurrentAccount,
useSignTransaction,
} from "@mysten/dapp-kit";
function App() {
const account = useCurrentAccount();
const { mutate: signTx } = useSignTransaction();
return <ConnectButton />;
}
References
Core SDK
- Client Setup - SuiClient, networks, faucet, keypairs
- Transactions - PTB, moveCall, signing, gas, sponsorship
- Queries - Objects, coins, events, pagination
- dApp Kit - React hooks, wallet, providers
Framework Integration
- React Integration - Providers, query hooks, transactions
- Next.js Integration - App Router, SSR, API routes
- Best Practices - Error handling, caching, security
Authentication
- zkLogin - OAuth login (Google, Apple, Facebook)
- Passkey - WebAuthn biometric auth (Face ID, fingerprint)
Infrastructure
- Walrus - Decentralized blob storage
- Seal - Encrypted secrets with on-chain access control
- Nautilus - TEE off-chain computation
- SuiNS - Name service (alice.sui โ 0x...)
- DeepBook - Orderbook DEX, limit/market orders
Protocol
- Mysticeti - DAG consensus protocol
- Tokenomics - SUI supply, staking, deflation
External Resources
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.