Skip to main content
POST
getTokenAccountsByOwnerV2

Ikhtisar

getTokenAccountsByOwnerV2 adalah versi yang disempurnakan dari metode standar getTokenAccountsByOwner, yang dirancang khusus untuk membuat kueri portofolio token secara efisien dan menangani dompet dengan kepemilikan token yang sangat banyak. Metode ini memperkenalkan paginasi berbasis kursor dan kemampuan pembaruan inkremental.
Fitur Baru di V2:
  • Paginasi berbasis kursor: Konfigurasikan batas dari 1 hingga 10.000 akun token per permintaan
  • Pembaruan inkremental: Gunakan changedSinceSlot untuk mengambil hanya akun token yang baru saja diubah
  • Skalabilitas portofolio: Tangani dompet dengan ribuan akun token secara efisien
  • Kompatibilitas mundur: Mendukung semua parameter dan filter getTokenAccountsByOwner yang ada
  • withContext opsional: true menambahkan slot dan apiVersion di bawah result.context; hilangkan atau gunakan false agar keduanya tidak disertakan
Persyaratan Filter: Anda harus menyediakan mint (token tertentu) atau programId (program SPL Token atau Token-2022) dalam kueri. Kueri untuk semua jenis token milik suatu pemilik tanpa filter tidak didukung.

Manfaat Utama

Large Portfolios

Tangani dompet dengan ribuan akun token tanpa masalah waktu habis atau memori

Real-time Tracking

Pantau perubahan portofolio secara real-time menggunakan changedSinceSlot untuk pembaruan inkremental

withContext (opsional)

Boolean pada objek konfigurasi (params[2]). Hanya struktur result yang berubah, bukan filter, batas, atau paginasi. Jika dihilangkan atau bernilai false: result.value adalah array akun token. Jika bernilai true: result.context ditambah result.value sebagai objek (accounts, paginationKey). Jika Anda menangani keduanya, buat percabangan berdasarkan Array.isArray(result.value).

Praktik Terbaik Paginasi

Perilaku Paginasi Penting: Akhir paginasi hanya ditandai ketika tidak ada akun token yang dikembalikan. API dapat mengembalikan lebih sedikit akun daripada batas Anda karena pemfilteran—selalu lanjutkan paginasi hingga paginationKey bernilai null.

Kueri Portofolio Dasar

Pembaruan Portofolio Inkremental

Dukungan Program Token

Dukungan Token-2022: Gunakan TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb sebagai programId untuk membuat kueri akun Token-2022 dengan ekstensi seperti biaya transfer, token berbunga, dan lainnya.

Migrasi dari getTokenAccountsByOwner

Migrasinya sederhana—cukup tambahkan parameter paginasi ke kueri Anda yang sudah ada:

Metode Terkait

getTokenAccountsByOwner

Metode asli tanpa paginasi

getProgramAccountsV2

Metode V2 untuk kueri akun program

Parameter Permintaan

string
wajib
Alamat dompet Solana (pubkey) milik pemilik akun yang kepemilikan tokennya akan dibuat kueri, sebagai string yang dikodekan dengan base-58.
string
Alamat mint token Solana tertentu untuk mengambil hanya akun bagi token atau NFT tertentu.
string
ID program token Solana tertentu (biasanya program SPL Token) yang membuat akun token.
string
Tingkat komitmen untuk permintaan.
  • confirmed
  • finalized
  • processed
number
Slot minimum tempat permintaan dapat dievaluasi.
boolean
Jika bernilai true, mengembalikan result.context (metadata snapshot: slot, apiVersion) dan menempatkan accounts serta paginationKey di bawah result.value sebagai objek. Jika bernilai false atau dihilangkan, result.value adalah array akun token untuk halaman ini, dengan paginationKey pada result. Filter dan batas yang sama berlaku.
object
Minta sebagian data akun.
number
Jumlah byte yang akan dikembalikan.
number
Offset byte tempat pembacaan dimulai.
string
Format pengodean untuk data Akun.
  • base58
  • base64
  • base64+zstd
  • jsonParsed
number
Jumlah maksimum akun token yang akan dikembalikan per permintaan (1–10.000).
string
Kursor paginasi yang dikodekan dengan base-58 untuk mengambil halaman berikutnya. Gunakan paginationKey dari respons sebelumnya.
number
Hanya kembalikan akun token yang diubah pada atau setelah nomor slot ini. Berguna untuk pembaruan portofolio inkremental.

Otorisasi

api-key
string
query
wajib

Kunci API Helius Anda. Anda dapat memperolehnya secara gratis di dasbor.

Body

application/json
jsonrpc
enum<string>
default:2.0

Versi protokol JSON-RPC.

Opsi yang tersedia:
2.0
Contoh:

"2.0"

id
string
default:1

Pengidentifikasi unik untuk permintaan.

Contoh:

"1"

method
enum<string>
default:getTokenAccountsByOwnerV2

Nama metode RPC yang akan dipanggil.

Opsi yang tersedia:
getTokenAccountsByOwnerV2
Contoh:

"getTokenAccountsByOwnerV2"

params
string · object · object[]

Parameter untuk mengueri akun token berpaginasi yang dimiliki oleh kunci publik tertentu.

Alamat dompet Solana (pubkey) milik pemilik akun yang kepemilikan tokennya akan dikueri, sebagai string yang dikodekan dalam base-58.

Contoh:

"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd"

Respons

Berhasil mengambil akun token berpaginasi berdasarkan pemilik.

jsonrpc
enum<string>

Versi protokol JSON-RPC.

Opsi yang tersedia:
2.0
Contoh:

"2.0"

id
string

Pengidentifikasi yang cocok dengan permintaan.

Contoh:

"1"

result
tanpa withContext · object

Akun token berpaginasi saat withContext bernilai false atau tidak dicantumkan. Sesuai dengan struktur umum tempat daftar akun berupa array di result.value (tidak disarangkan di bawah accounts).