Siapkan integrasi dompet Solana minimal di Next.js (App Router) dengan
@solana/kit, plugin kit, dan @solana/react. Anda akan membuat dropdown
koneksi dompet dan komponen transfer SOL.
Aplikasi Next.js Kit
Sumber Daya
Prasyarat
- Node 20+
- npm
Buat Proyek Next.js
$npx create-next-app@latest my-app$cd my-app
Saat diminta, terima semua nilai default (starter sudah menyertakan Tailwind, yang digunakan tutorial ini untuk gaya utilitas sederhana).
Dua penyesuaian scaffold
Output default create-next-app memerlukan dua perubahan kecil untuk tutorial ini:
- Di
tsconfig.json, atur"target": "ES2020"(atau yang lebih baru). Jumlah transfer menggunakan literalbigintseperti1_000_000_000n, yang memerlukan ES2020. - Di
app/globals.css, hapus blok@media (prefers-color-scheme: dark)yang dihasilkan dan aturan latar belakangbody. UI ini hanya mendukung mode terang; nilai default gelap akan menimpa utilitasbg-whitedan membuat halaman tidak terbaca dalam mode gelap.
Instal dependensi Solana
$npm install @solana/kit @solana/kit-plugin-rpc @solana/kit-plugin-wallet @solana/react @solana-program/system
Tutorial ini menargetkan Kit 7+, paket @solana/kit-plugin-* versi 0.13+
(0.14+ untuk @solana/kit-plugin-wallet), dan @solana/react 7+.
1. Buat Solana Provider
app/providers.tsx membuat satu klien di lingkup modul dan mempublikasikannya dengan
ClientProvider. Plugin walletSigner menjadikan wallet yang terhubung sebagai pembayar biaya
dan identitas; ekspor tipe klien agar komponen dapat mengetik useClient.
2. Perbarui Layout
Bungkus aplikasi Anda dengan komponen Providers. Perbarui app/layout.tsx untuk
mengimpornya dan menggunakannya:
Ini membungkus seluruh aplikasi dengan konteks Solana sehingga semua komponen turunan dapat mengakses klien dan hook wallet.
3. Tombol Koneksi Wallet
Dropdown untuk menghubungkan/memutuskan koneksi wallet Wallet Standard. useWallets mengembalikan
wallet yang terdeteksi di browser; useConnect / useDisconnect mengembalikan sebuah
ActionResult — komponen ini menggunakan dispatch, isRunning, dan error-nya.
Setiap hook wallet menerima klien sebagai argumen pertamanya, jadi ambil terlebih dahulu
dari useClient<AppClient>().
Opsi dropdown wallet
Dropdown wallet terhubung
4. Transfer SOL
Buat instruksi transfer dengan @solana-program/system dan kirimkan melalui
client.sendTransaction. Wallet yang terhubung akan menandatangani dan membayar.
Formulir transfer SOL yang sudah diisi
Transfer SOL berhasil
Wallet berasal dari penemuan Wallet Standard; setelah terhubung, transfer SOL menggunakan penanda tangan yang terhubung sebagai pembayar biaya.
5. Halaman
app/page.tsx merender komponen koneksi wallet dan transfer SOL:
6. Jalankan Aplikasi
$npm run dev
Buka http://localhost:3000, hubungkan wallet Devnet, dan kirim transfer SOL.
Is this page helpful?