Skip to main content
Metode RPC getTokenAccountBalance mengembalikan saldo token dari akun Token SPL tertentu. Metode ini penting bagi aplikasi yang perlu menampilkan atau memverifikasi jumlah token tertentu yang disimpan dalam akun token.

Kasus Penggunaan Umum

  • Menampilkan Saldo Token Pengguna: Menunjukkan kepada pengguna jumlah token tertentu yang mereka miliki dalam dompet mereka (akun token terkait).
  • Memverifikasi Ketersediaan Token: Memeriksa apakah akun token memiliki saldo yang cukup sebelum mencoba transfer atau operasi lainnya.
  • Melacak Portofolio: Menggabungkan saldo token pengguna dari berbagai akun token.
  • Interaksi Kontrak Pintar: Kontrak pintar mungkin meminta saldo token sebagai bagian dari logikanya (meskipun program on-chain biasanya mengakses data ini langsung dari informasi akun).

Parameter Permintaan

  1. Kunci Publik Akun Token (string, wajib): Kunci publik akun Token SPL yang ingin Anda minta, dengan enkode base-58.
  2. Objek Konfigurasi (object, opsional): Objek opsional yang dapat berisi bidang berikut:
    • commitment (string, opsional): Menentukan tingkat commitment untuk permintaan. Jika dihilangkan, commitment default dari node RPC akan digunakan (biasanya finalized).

Struktur Respons

Bidang result dalam respons JSON-RPC berisi objek dengan bidang context dan value. Objek value menyimpan informasi saldo:
  • amount (string): Saldo mentah akun token dalam bentuk string. Nilai ini adalah bilangan bulat yang mewakili unit terkecil token (misalnya, jika token memiliki 6 angka desimal, jumlah “1000000” berarti 1 token).
  • decimals (u8): Jumlah angka desimal yang ditentukan untuk jenis token ini (oleh mint-nya).
  • uiAmount (number | null): Saldo yang diformat sebagai bilangan floating-point dengan memperhitungkan decimals. Dalam konteks tertentu, bidang ini mungkin bernilai null atau sudah tidak digunakan lagi dan digantikan oleh uiAmountString.
  • uiAmountString (string): Saldo yang diformat sebagai string dengan memperhitungkan decimals. Format ini sering lebih disarankan untuk ditampilkan guna menghindari potensi ketidakakuratan floating-point.
Contoh Respons:

Contoh Kode

Tips untuk Developer

  • Akun Token vs. Akun Mint vs. Akun Pemilik: Pastikan Anda memberikan kunci publik Akun Token SPL, bukan alamat mint token atau alamat dompet pemilik. Anda biasanya dapat memperoleh akun token milik seorang pemilik menggunakan getTokenAccountsByOwner.
  • Desimal: Selalu gunakan bidang decimals untuk menafsirkan amount dengan benar. uiAmountString umumnya lebih aman untuk ditampilkan daripada uiAmount agar terhindar dari masalah presisi floating-point.
  • Akun yang Tidak Ada: Jika kunci publik yang diberikan tidak sesuai dengan akun token yang ada, perilakunya mungkin sedikit berbeda menurut penyedia RPC atau pustaka. Namun, value dalam respons sering kali akan bernilai null, atau akan muncul error. Contoh JavaScript menyertakan pemeriksaan dasar untuk balance.value.
  • Tingkat Commitment: Penggunaan tingkat commitment yang berbeda dapat memengaruhi seberapa cepat Anda melihat perubahan saldo, terutama untuk transaksi yang sangat baru. finalized adalah opsi paling aman, tetapi memiliki latensi tertinggi.
Panduan ini akan membantu Anda mengambil dan menafsirkan saldo token SPL secara akurat menggunakan metode getTokenAccountBalance.

Metode Terkait

getTokenAccountsByOwner

Dapatkan semua akun token milik seorang pemilik

getTokenSupply

Dapatkan total suplai dari mint token