Skip to main content
Metode RPC getSignaturesForAddress memungkinkan Anda mengambil daftar tanda tangan transaksi terkonfirmasi yang melibatkan alamat akun tertentu. Ini berguna untuk mengambil riwayat transaksi suatu akun. Tanda tangan dikembalikan dalam urutan kronologis terbalik (yang terbaru lebih dahulu).
Untuk pemfilteran dan pengurutan tingkat lanjut serta riwayat akun token, gunakan getTransactionsForAddress. Perhatikan bahwa getSignaturesForAddress tidak menyertakan transaksi yang melibatkan akun token terkait.

Kasus Penggunaan Umum

  • Riwayat Transaksi Akun: Menampilkan transaksi sebelumnya dari dompet pengguna. Untuk penguraian riwayat transaksi yang lebih canggih, pertimbangkan untuk menggunakan Enhanced Transactions API dari Helius.
  • Audit Aktivitas: Meninjau semua transaksi yang terkait dengan kontrak pintar atau akun tertentu.
  • Pencarian Transaksi Tertentu: Menemukan transaksi tertentu dengan menelusuri riwayat akun jika hanya alamat yang terlibat yang diketahui.
  • Pengindeksan Data: Membuat indeks transaksi lokal agar kueri dan analisis dapat dilakukan lebih cepat.

Parameter Permintaan

  1. address (string): (Wajib) Kunci publik akun yang dikodekan dalam base-58 untuk mengambil tanda tangan transaksi.
  2. options (object, opsional): Objek konfigurasi opsional dengan bidang berikut:
    • limit (number, opsional): Jumlah maksimum tanda tangan yang akan dikembalikan. Nilai default-nya adalah 1000 dan nilai maksimum yang diizinkan adalah 1000.
    • before (string, opsional): Tanda tangan transaksi yang dikodekan dalam base-58. Jika diberikan, kueri akan mulai mencari transaksi sebelum tanda tangan ini.
    • until (string, opsional): Tanda tangan transaksi yang dikodekan dalam base-58. Jika diberikan, kueri akan mencari transaksi hingga tanda tangan ini tercapai (tidak termasuk tanda tangan tersebut).
    • commitment (string, opsional): Menentukan tingkat komitmen yang akan digunakan untuk kueri. Nilai yang didukung adalah finalized atau confirmed. Komitmen processed tidak didukung. Jika dihilangkan, komitmen default dari node RPC akan digunakan (biasanya finalized).
    • minContextSlot (number, opsional): Slot minimum tempat permintaan dapat dievaluasi. Ini bukan filter untuk transaksi historis, tetapi menetapkan slot minimum untuk konteks node.
Batch Tidak DidukungMetode arsip ini tidak mendukung pemrosesan batch. Buat permintaan satu per satu saja.

Struktur Respons

Bidang result dalam respons JSON-RPC adalah array objek informasi tanda tangan. Setiap objek memiliki struktur berikut:
  • signature (string): Tanda tangan transaksi yang dikodekan dalam base-58.
  • slot (u64): Slot tempat transaksi diproses.
  • err (object | null): Objek kesalahan jika transaksi gagal, atau null jika berhasil.
  • memo (string | null): Memo yang terkait dengan transaksi, jika ada.
  • blockTime (i64 | null): Perkiraan waktu produksi blok yang berisi transaksi, sebagai stempel waktu Unix (detik sejak epoch). null jika tidak tersedia.
  • confirmationStatus (string | null): Status konfirmasi transaksi (misalnya, processed, confirmed, finalized). null jika tidak tersedia (misalnya, untuk respons Helius yang lebih lama).

Contoh

1. Mendapatkan Tanda Tangan Terbaru untuk Alamat

Contoh ini mengambil tanda tangan transaksi terbaru (hingga 1000) untuk alamat tertentu.

2. Mendapatkan Tanda Tangan dengan Batas

Contoh ini mengambil sejumlah tanda tangan transaksi terbaru sesuai jumlah yang ditentukan untuk suatu alamat.

3. Melakukan Paginasi pada Riwayat Transaksi

Contoh ini menunjukkan cara mengambil riwayat transaksi dalam beberapa batch menggunakan parameter before.

Tips untuk Developer

  • Paginasi: Untuk mendapatkan riwayat transaksi lengkap dari akun aktif, Anda kemungkinan perlu membuat beberapa permintaan dengan menggunakan parameter before bersama tanda tangan terakhir yang diterima dalam batch sebelumnya dan limit.
  • Batas Laju: Perhatikan batas laju node RPC saat mengambil riwayat transaksi dalam jumlah besar.
  • Urutan: Tanda tangan selalu dikembalikan dari yang terbaru hingga terlama.
  • Parameter limit: Parameter limit dapat bernilai antara 1 dan 1000. Jika tidak ditentukan, nilai default-nya adalah 1000.
  • Parameter until: Parameter ini dapat digunakan untuk menghentikan pengambilan tanda tangan saat tanda tangan lama yang telah diketahui tercapai. Ini berguna jika Anda hanya membutuhkan transaksi hingga titik tertentu.
  • minContextSlot: Parameter ini tidak memfilter transaksi historis. Parameter ini menentukan slot minimum yang harus digunakan node RPC sebagai konteks saat mengevaluasi permintaan. Jika status node lebih lama daripada slot ini, node dapat mengembalikan kesalahan.
  • Detail Transaksi: Metode ini hanya mengembalikan tanda tangan dan informasi dasar. Untuk mendapatkan detail transaksi lengkap, gunakan metode getTransaction dengan setiap tanda tangan.
  • Batasan Akun Token: Metode ini hanya mengembalikan transaksi yang secara langsung merujuk alamat yang diberikan. Metode ini tidak menyertakan transaksi yang melibatkan akun token milik alamat tersebut. Untuk riwayat token lengkap yang mencakup akun token terkait, gunakan getTransactionsForAddress dengan filter tokenAccounts.
Dengan menggunakan getSignaturesForAddress beserta opsi paginasinya, Anda dapat mengambil dan mengelola riwayat transaksi secara efektif untuk alamat Solana apa pun.

Metode Terkait

getTransactionsForAddress

Pemfilteran dan pengurutan tingkat lanjut serta riwayat akun token

getTransaction

Dapatkan detail transaksi lengkap dari tanda tangan