getTransactionsForAddress yang eksklusif dari Helius, dan melakukan streaming aktivitas baru secara langsung melalui transactionSubscribe. Anda akan mencobanya terlebih dahulu sebagai demo tersemat, lalu membangunnya sebagai aplikasi Next.js lengkap.
Coba secara langsung
Tempel kunci API Anda dan alamat dompet apa pun untuk melihat ketiga bagian berfungsi bersama: portofolio, riwayat, dan umpan langsung. Ini adalah data yang sama dengan yang akan dirender aplikasi Anda.Bangun sebagai aplikasi Next.js
Grab the full app on GitHub
Kloning starter lengkap — aplikasi Next.js final dari panduan ini, yang siap untuk
npm install && npm run dev.Prasyarat: Node.js 18+ dan kunci API Helius.
1
Scaffold the project
ws untuk umpan WebSocket langsung.Tambahkan kunci Anda ke .env.local:.env.local
2
Proxy RPC calls through a route handler
Langkah ini menyimpan kunci API Anda di sisi server. Klien mengirim metode dan parameter ke sini, lalu handler menjalankannya melalui Helius SDK, yang menyertakan kunci Anda dan menyusun permintaan untuk Anda.
app/api/helius/route.ts
3
Relay the live feed over Server-Sent Events
Browser tidak dapat membuka WebSocket Helius tanpa kunci. Sebagai gantinya, buka WebSocket di server dan lakukan streaming tanda tangan ke klien dengan SSE.
app/api/stream/route.ts
4
Render the dashboard
Halaman memuat portofolio dan riwayat melalui proksi, lalu berlangganan umpan SSE untuk mendapatkan pembaruan langsung.
app/page.tsx
5
Run it
Cara kerjanya
Satu panggilan DAS untuk seluruh portofolio
getAssetsByOwner dengan showFungible: true dan showNativeBalance: true mengembalikan token fungibel, NFT (standar dan terkompresi), serta saldo SOL native dalam satu respons, sehingga Anda tidak memerlukan panggilan getBalance atau getTokenAccountsByOwner terpisah. Pisahkan items berdasarkan interface untuk mengelompokkan token dan NFT.
Setiap item memiliki metadatanya sendiri, sehingga panggilan yang sama dapat digunakan untuk kedua daftar. Gunakan content.metadata.name untuk nama dan content.links.image untuk logo atau karya seni. Token fungibel juga menyertakan objek token_info dengan balance mentah, decimals, dan symbol — bagi balance dengan 10 ** decimals untuk mendapatkan jumlah yang mudah dibaca manusia. Tidak setiap token dilengkapi nama atau logo, jadi gunakan nilai cadangan dengan baik jika keduanya tidak tersedia.
Riwayat lengkap dalam satu permintaan
getTransactionsForAddress mengembalikan riwayat transaksi untuk dompet, dan dengan filters.tokenAccounts: "balanceChanged", hasilnya juga menyertakan transfer pada akun token terkait milik dompet, yaitu aktivitas yang akan terlewat oleh getSignaturesForAddress biasa. Gunakan transactionDetails: "full" untuk mendapatkan data transaksi lengkap, bukan hanya tanda tangan.
Pembaruan real-time tanpa polling
transactionSubscribe mengirim pesan setiap kali transaksi melibatkan dompet, sehingga Anda tidak perlu melakukan polling. Menambahkan tokenAccounts: "balanceChanged" ke filter juga akan mencocokkan akun token milik dompet, sehingga transfer SPL yang masuk muncul di umpan — aktivitas yang sama dengan yang dihitung oleh panggilan riwayat. Meneruskan langganan melalui handler rute sisi server menjaga agar kunci API Anda tidak terekspos ke klien.
Langkah berikutnya
getAssetsByOwner
Semua opsi tampilan, paginasi, dan struktur respons aset lengkap.
getTransactionsForAddress
Pemfilteran lanjutan berdasarkan waktu, slot, token, arah, dan jumlah.
transactionSubscribe
Opsi filter dan struktur payload untuk umpan WebSocket langsung.
Deploy your own program
Jalur berikutnya: luncurkan program Solana ke devnet melalui Helius.