Skip to main content

Ringkasan

Metode DAS API mengembalikan hingga 1.000 rekaman per panggilan. Untuk mengambil lebih banyak rekaman, Anda perlu melakukan paginasi — membuat beberapa panggilan dan menelusuri halaman-halaman data. Helius mendukung dua mekanisme: paginasi berbasis halaman dan keyset. Paginasi berbasis halaman adalah cara termudah untuk memulai. Paginasi keyset ditujukan bagi pengguna tingkat lanjut yang perlu membuat kueri secara efisien di seluruh dataset besar (500 ribu+).

Kapan menggunakannya

  • Berbasis halaman — tampilan statis, dasbor, dan sebagian besar kueri sehari-hari. Mudah dan intuitif.
  • Keyset (kursor atau rentang) — dataset besar (seluruh koleksi, 500 ribu+ aset) ketika penelusuran berbasis halaman menjadi lambat.
  • Keyset paralel — opsi tercepat untuk memindai seluruh koleksi dengan mempartisi rentang alamat.

Opsi pengurutan

Anda dapat mengurutkan hasil berdasarkan berbagai bidang menggunakan bidang sortBy: Menonaktifkan pengurutan memberikan hasil tercepat, tetapi karena data tidak berurutan, Anda mungkin mendapatkan hasil yang tidak konsisten saat melakukan paginasi.

Paginasi berbasis halaman

Anda menentukan nomor halaman dan jumlah item per halaman. Untuk berpindah ke halaman berikutnya, naikkan nomor halaman. Cara ini mudah, intuitif, dan cepat untuk sebagian besar kasus penggunaan.
Penggunaan halaman mengharuskan basis data menelusuri semua item hingga mencapai halaman berikutnya. Misalnya, jika Anda meminta halaman ke-100 dengan ukuran halaman 1.000, basis data harus menelusuri 1 juta rekaman pertama sebelum mengembalikan data Anda. Karena itu, paginasi berbasis halaman tidak direkomendasikan untuk dataset besar — paginasi keyset jauh lebih cocok untuk beban kerja tersebut.

Paginasi keyset

Anda menentukan halaman dengan menyediakan kondisi yang memfilter dataset. Misalnya, “ambil semua aset dengan ID > X tetapi ID < Y.” Anda menelusuri seluruh dataset dengan mengubah X atau Y pada setiap panggilan. Ada dua metode paginasi keyset:
  1. Berbasis kursor — lebih mudah digunakan, tetapi kurang fleksibel.
  2. Berbasis rentang — lebih kompleks, tetapi sangat fleksibel.
Paginasi keyset hanya didukung saat mengurutkan berdasarkan id.

Berbasis kursor

Kueri DAS tanpa parameter paginasi akan mengembalikan kursor. Kirimkan kembali kursor tersebut ke DAS API untuk melanjutkan dari posisi terakhir Anda.
Pada saat dokumentasi ini ditulis, kursor adalah ID aset terakhir dalam respons. Namun, desain kursor bersifat fleksibel dan dapat mendukung string apa pun.

Berbasis rentang

Untuk membuat kueri dalam suatu rentang, tentukan before dan/atau after. Pada dasarnya, kueri tersebut berarti “ambil semua aset setelah X tetapi sebelum Y.” Anda menelusuri dataset dengan memperbarui parameter before atau after pada setiap panggilan.

Kueri paralel dengan keyset (tingkat lanjut)

Pengguna tingkat lanjut yang membuat kueri pada dataset besar (misalnya, seluruh koleksi NFT terkompresi) sebaiknya menggunakan paginasi berbasis keyset untuk meningkatkan performa. Contoh berikut menunjukkan cara membuat kueri secara paralel dengan mempartisi rentang alamat Solana dan menggunakan parameter before/after. Metode ini cepat, efisien, dan aman.
Dalam contoh di bawah ini, kami memindai seluruh koleksi Tensorian (~10 ribu rekaman). Contoh ini mempartisi ruang alamat Solana menjadi 8 rentang dan memindai rentang-rentang tersebut secara bersamaan. Cara ini jauh lebih cepat daripada pendekatan lainnya.

Langkah berikutnya

Search Assets

Filter aset berdasarkan pemilik, koleksi, dan tokenType.

Get Assets (NFTs)

Ambil NFT, koleksi, edisi, dan bukti.

DAS API reference

Skema lengkap untuk setiap metode DAS.