What problem does it solve?
This Skill removes the uncertainty and boilerplate needed to build a browser-based Sui dApp that connects to wallets, reads on-chain state, and signs transactions reliably across testnet and mainnet.
Core Features & Use Cases
- React or non-React integration: Set up
@mysten/dapp-kit-react for React or @mysten/dapp-kit-core for Vue/vanilla JS/web components.
- Correct client wiring: Configure
createDAppKit with SuiGrpcClient for gRPC (not the deprecated JSON-RPC pattern).
- Wallet UX and state management: Use
ConnectButton plus useCurrentAccount, useCurrentWallet, and (non-React) $connection subscriptions with nanostores stores.
- On-chain interaction workflow: Query with
@tanstack/react-query, sign with signAndExecuteTransaction or signPersonalMessage, and handle FailedTransaction safely.
- Post-transaction consistency: Wait for indexing using
client.waitForTransaction and invalidate React Query caches using the right query keys.
Quick Start
Set up a React dApp using dApp Kit by configuring createDAppKit with SuiGrpcClient, wrapping your app in DAppKitProvider, and rendering a ConnectButton that displays the connected wallet name and address.