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).
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
address(string): (Wajib) Kunci publik akun yang dikodekan dalam base-58 untuk mengambil tanda tangan transaksi.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 adalahfinalizedatauconfirmed. Komitmenprocessedtidak didukung. Jika dihilangkan, komitmen default dari node RPC akan digunakan (biasanyafinalized).minContextSlot(number, opsional): Slot minimum tempat permintaan dapat dievaluasi. Ini bukan filter untuk transaksi historis, tetapi menetapkan slot minimum untuk konteks node.
Struktur Respons
Bidangresult 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, ataunulljika 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).nulljika tidak tersedia.confirmationStatus(string|null): Status konfirmasi transaksi (misalnya,processed,confirmed,finalized).nulljika 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 parameterbefore.
Tips untuk Developer
- Paginasi: Untuk mendapatkan riwayat transaksi lengkap dari akun aktif, Anda kemungkinan perlu membuat beberapa permintaan dengan menggunakan parameter
beforebersama tanda tangan terakhir yang diterima dalam batch sebelumnya danlimit. - 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: Parameterlimitdapat 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
getTransactiondengan 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
getTransactionsForAddressdengan filtertokenAccounts.
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