Sebelum membangun alur pembayaran, Anda perlu terhubung ke Solana dan memahami cara melakukan kueri data jaringan. Panduan ini mencakup dasar-dasarnya: membuat koneksi dan menggunakan metode RPC yang Anda perlukan untuk pembayaran menggunakan @solana/kit TypeScript SDK dan Solana CLI. Selain itu, kami akan membahas dasar-dasar penggunaan Solana Explorer untuk memverifikasi pembayaran secara manual, memeriksa akun, dan men-debug masalah.
Terhubung ke Solana
RPC API Solana adalah cara utama untuk berinteraksi dengan jaringan secara terprogram. URL RPC Anda secara efektif adalah kunci API ke jaringan.
Jangan gunakan RPC publik untuk produksi
Endpoint publik (api.mainnet-beta.solana.com, api.devnet.solana.com)
memiliki batasan rate, tidak memiliki SLA, dan tidak cocok untuk alur
pembayaran produksi. Gunakan penyedia RPC untuk
mengamankan endpoint RPC pribadi untuk deployment produksi.
Untuk pengembangan dan pengujian, Anda dapat menggunakan endpoint publik dengan batasan rate.
Buat klien RPC untuk berinteraksi dengan jaringan:
import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");const rpcSubscriptions = createSolanaRpcSubscriptions("wss://api.mainnet-beta.solana.com");
Untuk pengembangan, gunakan devnet (https://api.devnet.solana.com) atau
validator lokal seperti
Surfpool.
Metode RPC umum
JSON-RPC API Solana menyediakan metode untuk melakukan kueri jaringan. Berikut adalah metode yang paling sering Anda gunakan untuk alur pembayaran.
Mendapatkan info akun
Semua akun di Solana dapat dialamatkan dengan kunci publik mereka. Gunakan
metode RPC getAccountInfo untuk mengambil
informasi tentang akun mana pun. Metode getAccountInfo mengembalikan objek
AccountInfo, yang berisi kunci publik akun, saldo SOL, data, dan beberapa
metadata lainnya.
Field data adalah string yang dikodekan base64 dari data akun. Anda dapat
mengkodekannya menjadi bytes menggunakan metode getBase64Codec dari paket
@solana/kit dan kemudian mendekodekannya menjadi objek yang dapat dibaca
menggunakan codec yang diharapkan (jika diketahui) untuk data akun (misalnya,
getTokenCodec untuk token account).
const accountInfo = await rpc.getAccountInfo(address("7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV"), {encoding: "base64"}).send();const dataBytes = getBase64Codec().encode(accountInfo.value.data);const parsedTokenData = getTokenCodec().decode(dataBytes);console.log(parsedTokenData);
Mendapatkan saldo token
Periksa saldo token account menggunakan metode RPC
getTokenAccountBalance:
const balance = await rpc.getTokenAccountBalance(tokenAccountAddress).send();console.log(balance.value.uiAmount); // Human-readable (e.g., 100.50)console.log(balance.value.amount); // Base units (e.g., "100500000")
Membangun transaksi
Setiap transaksi memerlukan blockhash terbaru untuk memastikan validitasnya (dan
tidak kedaluwarsa). Ambil blockhash sebelum membuat transaksi pembayaran
menggunakan metode RPC
getLatestBlockhash:
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
Blockhash kedaluwarsa setelah ~60 detik. Ambil yang baru segera sebelum menandatangani dan mengirim.
Memeriksa status transaksi
Verifikasi transaksi yang telah diselesaikan menggunakan metode RPC
getSignatureStatuses:
const status = await rpc.getSignatureStatuses([signature]).send();const result = status.value[0];// result.confirmationStatus: "processed" | "confirmed" | "finalized"
Mendapatkan detail transaksi
Ambil detail lengkap dari transaksi yang dikonfirmasi menggunakan metode RPC
getTransaction:
const transaction = await rpc.getTransaction(signature, { maxSupportedTransactionVersion: 0 }).send();
Riwayat transaksi
Dapatkan transaksi terbaru untuk sebuah alamat menggunakan metode RPC
getSignaturesForAddress:
const signatures = await rpc.getSignaturesForAddress(walletAddress, { limit: 10 }).send();
Untuk pemantauan pembayaran yang komprehensif, lihat Terima Pembayaran yang mencakup webhook dan deteksi transaksi secara real-time.
Menjelajahi data publik
Buku besar publik Solana berarti setiap transaksi, token account, dan mint sepenuhnya dapat diaudit. Block explorer memungkinkan Anda memverifikasi pembayaran secara manual, memeriksa akun, dan men-debug masalah tanpa menulis kode.
Yang dapat Anda cari:
- Verifikasi pembayaran yang diselesaikan
- Periksa saldo token account
- Debug transaksi yang gagal
- Cari detail mint (supply, desimal, authority)
Explorer umum: Solana Explorer, SolanaFM, Solscan, Orb
Contoh tautan:
- USDC Token Mint — Supply, pasar, pemegang, dan transaksi untuk USDC
- USDC Token Transfer — Detail transaksi pembayaran USDC
- USDG Token Account — Saldo USDG pengguna dan riwayat transaksi
Is this page helpful?