Lewati ke kontenBlockAssay

Riwayat transaksi

P09-L02 · P09 · P09-M01

Baca transfer berhasil, panggilan internal, dan biaya tanpa penghitungan ganda

ILLUSTRATIVE · needs_review

Prasyarat: P09-L01

Tujuan pembelajaran

  • Baca hasil eksekusi dan hilangkan duplikasi tampilan peristiwa.
  • Rekonsiliasi arus bruto, saldo, dan biaya native.
  • Bedakan transaksi induk, panggilan bersarang, dan log token.

Master sumber EN · P09-L02 · 45 menit perkiraan · needs_review

Mengapa ini penting

Halaman transaksi dapat menampilkan transfer, instruksinya, ringkasan terdekode, dan perubahan saldo. Itu mungkin beberapa tampilan satu peristiwa. Menjumlahkan setiap baris membesar-besarkan aktivitas, sedangkan mengabaikan status eksekusi dapat mengubah percobaan gagal menjadi transfer berhasil.

Pelajaran ini mengajarkan buku riwayat dengan identitas peristiwa, keberhasilan, aktivitas bersarang, dan biaya terpisah. Ini mempersiapkan analisis pendanaan tanpa menganggap setiap referensi alamat berarti pembayaran.

Penjelasan

Tentukan cakupan riwayat

Tuliskan jaringan, alamat target, akun token terkait, jendela yang diminta, dan metode pengumpulan. Solana getSignaturesForAddress mengembalikan tanda tangan yang merujuk alamat yang diminta dalam accountKeys, terbaru dahulu, dengan parameter paginasi [S09-SIGNATURES]. Halaman yang dikembalikan adalah daftar penemuan, bukan buku transfer lengkap.

Alamat yang dirujuk belum tentu penanda tangan atau penerima. Instruksi dapat merujuk program, akun data, dan keadaan hanya-baca. Periksa peran catatan sebelum menghitung keterlibatan sebagai tindakan. Kueri alamat pemilik juga mungkin tidak menemukan setiap operasi yang melibatkan akun token terpisah; periksa cakupan yang dimaksud alih-alih menyatakan riwayat lengkap.

Hilangkan duplikasi tanda tangan pada halaman yang tumpang tindih, tetapi pertahankan instruksi berbeda dalam transaksi yang sama. Pengurutan harus menghormati urutan slot/blok yang tersedia dan bukti urutan di dalam konteks. Urutan tampilan antarmuka tidak otomatis merupakan urutan eksekusi tepat.

Verifikasi hasil sebelum menghitung efek

Ambil metadata eksekusi untuk catatan yang ditemukan. Solana getTransaction dapat mengembalikan null pada commitment yang diminta dan mempunyai bidang waktu atau metadata yang dapat null [S09-TRANSACTION]. Perlakukan pengambilan yang hilang sebagai belum terselesaikan, bukan peristiwa gagal atau tidak ada.

Catatan terkonfirmasi/tercakup masih dapat memuat operasi gagal. Catat keberhasilan terpisah dari finalitas. Jumlah yang diajukan menjelaskan niat; efek saldo yang berhasil menjelaskan eksekusi. Untuk T2 gagal dalam fixture, efek transfer token eksplisit nol sementara biaya native yang disediakan tetap dibebankan.

Jangan menguniversalkan pernyataan rollback sederhana ke semua fitur rantai. Latihan mengecualikan perubahan otorisasi dan mekanisme bukan-transfer lain. Tabel hasilnya memberikan efek terkait secara langsung. Dalam analisis nyata, periksa aturan protokol sebenarnya dan perbedaan keadaan.

Pisahkan identitas peristiwa dari baris tampilan

Pilih kunci peristiwa: jaringan, tanda tangan/hash transaksi, dan jalur instruksi atau indeks log sesuai kebutuhan. Instruksi transfer, ringkasan terdekodenya, dan delta saldo yang cocok dapat mengoroborasi satu peristiwa. Itu bukan tiga transfer terpisah.

Delta saldo merupakan hasil neto. Jika akun mengirim 10 dan menerima 4 dalam satu jendela, deltanya−6 sedangkan arus keluar bruto 10. Delta tidak menghapus transfer masuk, dan menjumlahkan perpindahan bruto dengan delta neto menghitung ganda.

Panggilan bersarang memerlukan semantiknya sendiri. callTracer Geth menjelaskan bingkai panggilan dengan lingkup yang dapat dikonfigurasi [S09-TRACES]. Panggilan internal merupakan bagian transaksi induk, bukan transaksi yang ditandatangani terpisah. Sebagian bingkai membawa nilai native; panggilan lain bernilai nol dan menjalankan kode. Jangan menghitung setiap panggilan sebagai pembayaran.

Bedakan panggilan, log, dan perpindahan token

Tanda terima EVM memberikan kaitan transaksi, status, dan log [S09-RECEIPT]. Log peristiwa token dan panggilan bernilai native adalah catatan berbeda. Kontrak token yang menerbitkan log Transfer belum tentu penerima ekonomi.

Pada Solana, metadata hasil membedakan instruksi, instruksi internal, biaya, dan saldo [S09-STRUCTURES]. Instruksi internal dapat mengidentifikasi mekanisme dalam operasi induk. Ringkasan instruksi yang sama harus menggunakan penunjuk peristiwa yang sama.

Panggilan kontrak dengan log transfer token dapat merupakan satu perpindahan token ekonomi ditambah hubungan panggilan, bukan dua perpindahan token. Pertahankan kedua pengamatan dalam tabel bertipe, kemudian pilih unit penghitungan yang sesuai pertanyaan.

Pisahkan biaya

Biaya menggunakan aset native jaringan dan mempunyai pembayar tertentu. Itu bukan transfer token target. Dokumentasi Solana menjelaskan mekanisme biaya transaksi native [S09-FEES]. Jangan berasumsi setiap alamat terlihat membayar biaya atau setiap percobaan gagal gratis.

Total biaya harus dihitung sekali per hasil transaksi yang disediakan, bukan sekali per instruksi atau baris ringkasan. Konversi satuan biaya mentah menggunakan presisi native jika dataset nyata menyediakannya. Latihan memberikan satuan biaya fiktif ternormalisasi tanpa konversi harga.

Rekonsiliasi perpindahan token dan biaya native secara terpisah. Delta token dapat benar sementara saldo native mempunyai rent tambahan, deposit, atau efek tidak terkait. Fixture secara eksplisit mengecualikan efek itu; catatan nyata memerlukan rekonsiliasi tambahan.

Bangun tabel riwayat berbatas

Gunakan kolom penunjuk peristiwa, peran objek, hasil, aset, arah, jumlah bruto, pembayar biaya, dan ketidakpastian. Pertahankan daftar terpisah catatan belum terselesaikan. Jangan menghapus catatan hilang hanya agar jumlah keberhasilan terlihat lengkap.

Jumlah transaksi transfer token berhasil berbeda dari jumlah peristiwa transfer token. Satu transaksi dapat memuat beberapa peristiwa. Nyatakan statistik yang dilaporkan. Percobaan gagal dapat masuk jumlah percobaan sambil menyumbang nol pada perpindahan berhasil.

Deskripsi akhir harus menyebut jendela pengamatan dan cakupan yang disediakan. Riwayat mengajarkan apa yang terjadi pada catatan tersedia, bukan mengapa pelaku memilihnya. Transfer berhasil bukan bukti afiliasi maupun sinyal harga.

Istilah

  • Hasil eksekusi: keberhasilan/kegagalan operasi yang diperiksa.
  • Penunjuk peristiwa: transaksi beserta jalur instruksi/log.
  • Bingkai panggilan: eksekusi bersarang dalam transaksi.
  • Arus bruto: jumlah perpindahan menurut arah.
  • Delta neto: saldo akhir dikurangi saldo awal.
  • Pembayar biaya: akun yang menanggung biaya native yang disediakan.

Contoh historis

ILLUSTRATIVE — FIX-P09-02. SIM-SOL-A / W / MINT-T. Efek lengkap hanya untuk T1–T3, dengan urutan sintetis S1,S2,S3. Biaya native dinormalisasi dan dibayar W. Tidak ada efek jendela lain. Saldo token awal 100.

CatatanInduk/hasilTampilan/efek yang disediakan
H1T1 berhasil S1instruksi0: W→B,10 MINT-T
H2T1 berhasil S1ringkasan instruksi0: “mengirim 10”
H3T1 berhasil S1delta token W−10; biaya native 0.01
H4T2 gagal S2percobaan W→C,20; efek token berhasil0; biaya native 0.02
H5T3 berhasil S3instruksi internal2.0: B→W,4 MINT-T; biaya native 0.01

Contoh terpisah SIM-EVM-A E1 berhasil dengan W-E→ROUTER tingkat atas bernilai0; ROUTER→C-E bersarang bernilai native2 dan satu log Transfer token sebanyak7 satuan dari W-E ke C-E. Fixture menetapkan aset/efek berbeda dan cakupan panggilan lengkap. Tidak disediakan nilai biaya untuk E1.

Yang dibuktikan bukti

OBSERVED dalam fixture: Tiga tampilan T1 menjelaskan satu transfer10-token; T2 gagal; T3 menerima 4. E1 memuat panggilan bernilai nol, perpindahan 2-native, dan log 7-token.

INFERRED: Arus keluar target berhasil 10, masuk 4, neto−6; saldo akhir 94. Total biaya native T1–T3 0.04.

Yang tidak dibuktikan bukti

UNKNOWN: Riwayat sebelumnya, operator manusia, biaya E1, dan motif.

INSUFFICIENT EVIDENCE: H2/H3 tidak dapat menambahkan20 token transfer ekstra. Percobaan T2 tidak dapat dihitung sebagai arus keluar 20-token berhasil. Panggilan bersarang E1 bukan transaksi kedua yang ditandatangani secara independen.

Kesalahan umum

Menambahkan ringkasan dan delta ke transfer; menyamakan pencakupan dengan keberhasilan; menganggap setiap referensi alamat sebagai tindakan; mencampur biaya native dengan jumlah token; dan menghapus catatan tidak tersedia dari klaim cakupan.

Latihan praktik

Bangun buku token tanpa duplikasi untuk T1–T3. Hitung arus bruto dan neto, saldo akhir, dan biaya. Klasifikasikan panggilan dan perpindahan aset E1 tanpa total lintas aset berbeda.

Tampilkan koreksi terperinci

Koreksi terurai dan penalaran yang diharapkan

Hitung instruksi0 T1 sekali. H2 adalah ringkasannya dan H3 konfirmasi netonya. T2 menyumbang nol token berhasil, tetapi0.02 pada biaya yang disediakan. T3 menyumbang 4 masuk. Keluar bruto 10, masuk 4, neto 4−10=−6;100−6=94. Biaya0.01+0.02+0.01=0.04 satuan native.

Dua peristiwa transfer target berhasil terjadi dalam dua transaksi berhasil, ditambah satu transaksi percobaan transfer gagal. Jangan menghitung lima baris yang disediakan sebagai lima peristiwa.

E1 adalah satu transaksi induk dengan eksekusi bersarang. Nilai0 tingkat atasnya tidak menambahkan pembayaran native; perpindahan bersarang2 native dan log token7 yang disediakan tetap aset terpisah. Biaya tidak diketahui, bukan nol.

Nilai dari sepuluh: penghilangan duplikasi (dua), arus/saldo akhir (tiga), total biaya (dua), klasifikasi EVM (dua), biaya tidak diketahui/batas cakupan (satu).

Daftar periksa

  • Catat penemuan dan cakupan riwayat.
  • Verifikasi hasil eksekusi terpisah dari finalitas.
  • Kunci peristiwa menurut transaksi dan jalur.
  • Rekonsiliasi arus bruto dan saldo neto.
  • Hitung biaya sekali dan pertahankan pembayar/aset.
  • Pisahkan panggilan, log, dan atribusi manusia.

Ringkasan

Rekonstruksi riwayat adalah akuntansi peristiwa, bukan penghitungan baris. Perpindahan berhasil, percobaan gagal, dan biaya menjawab pertanyaan berbeda.

Ringkasan

Beberapa tampilan dapat menjelaskan satu transfer. Panggilan bersarang bukan transaksi yang ditandatangani terpisah. Catatan hilang tetap belum terselesaikan, bukan tidak ada.

Spesifikasi visual

Garis waktu T1–T3 dengan H1/H2/H3 dibundel sebagai satu peristiwa, T2 gagal dengan biaya tetap disediakan, T3 masuk4. Tampilkan arus10/4/neto−6/akhir 94 dan panel biaya 0.04 terpisah. Pisahkan pohon panggilan E1 dari baris jumlah token/native.

Akuntansi peristiwa ilustratif; baris dan panggilan bersarang bukan transaksi independen.

Gunakan SVG/HTML deterministik atau grafik dengan satuan, penunjuk bukti, dan alternatif teks. Biru navy/hitam dengan cyan, biru elektrik, dan ungu secukupnya; tanpa tangkapan layar explorer dekoratif atau rekaan. Pada 390px tumpuk anotasi; verifikasi 768px, desktop, dan RTL Arab ketika aset diimplementasikan. Pertahankan pengenal LTR dan arah faktual waktu/sisi/sumbu tanpa perubahan. Gunakan hanya merek BlockAssay resmi yang disediakan. Kedua catatan visual tetap berupa spesifikasi.

Alat

WALLET_INTELLIGENCE memetakan pemeriksaan hanya-baca atas catatan alamat publik, hubungan, dan asal-usul. Verifikasi jaringan yang didukung, pengenal tepat, bidang, dan cakupan sebelum integrasi runtime apa pun; tidak ada kemampuan penyedia langsung yang diklaim di sini. Gunakan latihan luring tertanam jika data atau akses berbayar tidak tersedia. Tidak diperlukan koneksi dompet, kredensial, kunci privat, tanda tangan, atau perdagangan langsung. Data yang hilang tetap tidak diketahui. Kemajuan Academy, status kreator, pembayaran, dan rujukan tidak pernah mengubah bukti Radar.

Sumber dan batas klaim

Semua catatan contoh adalah fixture ILLUSTRATIVE asli, bukan pengukuran rantai historis/langsung. Dokumentasi menjelaskan mekanisme, bukan jumlah atau label rekaan. Kronologi sintetis dibatasi secara eksplisit; observedAt=null disengaja. OBSERVED dalam latihan berarti catatan fixture yang disediakan. Tinjau kembali dokumentasi dan dekode yang diterapkan sebelum publikasi. Label penyedia tidak menetapkan identitas; kendali alamat dan atribusi manusia memerlukan bukti yang berbeda.

Pelajaran berikutnya

P09-L03 setelah latihan terurai dan peninjauan pertanyaan.

Spesifikasi visual

P09-L02-V01

SPECIFICATION_ONLY · ILLUSTRATIVE

Baris mana menjelaskan peristiwa berhasil yang berbeda?

Akuntansi peristiwa ilustratif; baris dan panggilan bersarang bukan transaksi independen.

Garis waktu T1–T3 dengan H1/H2/H3 dibundel sebagai satu peristiwa, T2 gagal dengan biaya tetap disediakan, T3 masuk4. Tampilkan arus10/4/neto−6/akhir 94 dan panel biaya 0.04 terpisah. Pisahkan pohon panggilan E1 dari baris jumlah token/native.

Satu arus keluar10-token, percobaan20-token gagal,4 masuk, dan biaya native 0.04; induk EVM terpisah mempunyai efek bersarang2 native dan 7 token.

Anotasi bertumpuk pada 390px dan padanan teks yang aksesibel; verifikasi 768px/desktop masih tertunda

Label/tata letak RTL alami; pengenal LTR; pertahankan arah waktu, sumbu angka, dan transfer.

FIX-P09-02

P09-L02-V02

SPECIFICATION_ONLY · ILLUSTRATIVE

Apa yang teramati, disimpulkan, tidak diketahui, atau tidak cukup didukung?

Keadaan bukti ilustratif dan batas atribusi.

Empat baris berlabel terikat pada ID catatan, klaim, batasan, dan pemeriksaan berikutnya dalam pelajaran ini; jangan pernah menampilkan identitas manusia atau vonis keamanan.

Tabel empat keadaan bukti dengan penunjuk catatan dan ketidakpastian.

Anotasi bertumpuk pada 390px dan padanan teks yang aksesibel; verifikasi 768px/desktop masih tertunda

Label/tata letak RTL alami; pengenal LTR; pertahankan arah waktu, sumbu angka, dan transfer.

FIX-P09-02

Sumber dan batas klaim

S09-SIGNATURES · official_documentation_or_standard

Solana getSignaturesForAddress

Klaim yang didukung
Riwayat tanda tangan yang merujuk alamat, urutan terbaru dahulu, dan paginasi.
Batas verifikasi
Halaman primer telah diperiksa; nilai buku besar ilustratif dan label entitas belum diverifikasi secara independen.
Tanggal pemeriksaan
2026-09-30
Buka sumber utama
https://solana.com/docs/rpc/http/getsignaturesforaddress

S09-TRANSACTION · official_documentation_or_standard

Solana getTransaction

Klaim yang didukung
Pencarian transaksi, commitment, serta bidang data/waktu yang dapat null.
Batas verifikasi
Halaman primer telah diperiksa; nilai buku besar ilustratif dan label entitas belum diverifikasi secara independen.
Tanggal pemeriksaan
2026-09-30
Buka sumber utama
https://solana.com/docs/rpc/http/gettransaction

S09-STRUCTURES · official_documentation_or_standard

Struktur JSON RPC Solana

Klaim yang didukung
Metadata hasil, biaya, instruksi, dan saldo sebagai tampilan yang berbeda.
Batas verifikasi
Halaman primer telah diperiksa; nilai buku besar ilustratif dan label entitas belum diverifikasi secara independen.
Tanggal pemeriksaan
2026-09-30
Buka sumber utama
https://solana.com/docs/rpc/json-structures

S09-FEES · official_documentation_or_standard

Biaya Solana

Klaim yang didukung
Mekanisme biaya transaksi native; bukan perpindahan token atau model biaya universal.
Batas verifikasi
Halaman primer telah diperiksa; nilai buku besar ilustratif dan label entitas belum diverifikasi secara independen.
Tanggal pemeriksaan
2026-09-30
Buka sumber utama
https://solana.com/docs/core/fees

Asal data

id: FIX-P09-02

dataStatus: ILLUSTRATIVE

observedAt: null

source: Original frozen educational records embedded in this lesson

scope: Three fictional transactions with duplicate views and supplied fees; separate EVM call/log example.

identifiers: Invalid training labels; no usable addresses or signatures

timeBasis: Synthetic S/T or SIM-DAY markers explicitly defined in example; no real ledger/UTC observation

Uji penalaranmu

P09-L02-Q1 · Berapa transfer10-token yang ditetapkan H1–H3?
P09-L02-Q2 · Berapa saldo token akhir T1–T3?
P09-L02-Q3 · Berapa biaya native yang disediakan?
P09-L02-Q4 · Apa panggilan bersarang E1?
P09-L02-Q5 · Bagaimana pencarian transaksi yang tidak tersedia harus diklasifikasikan?