Orang dahulu mengatakan bahwa di pasar beruang, baca lebih banyak dan pelajari lebih lanjut. Tanpa basa-basi lagi, Heixiazi akan berbagi dengan Anda pengetahuan yang relevan tentang API informasi transaksi blok dan ABI dalam soliditas bahasa pengembangan kontrak pintar ETH. Ini tidak mudah untuk dikodekan. Saya harap Anda akan mendukung saya dan menantikan pasar bullish berikutnya agar ETH menembus 10.000 dolar AS🙌 $ETH
1. API apa yang umum digunakan untuk blok dan transaksi?
blockhash(uint blockNumber) Mengembalikan nilai hash dari nomor blok yang diberikan, hanya mendukung 256 blok terbaru
block.coinbase mengembalikan (alamat) Alamat penambang blok saat ini
block.difficulty return(uint) Tingkat kesulitan blok saat ini
block.gaslimit mengembalikan(uint) gaslimit dari blok saat ini
block.number mengembalikan (uint) nomor blok dari blok saat ini
block.timestamp mengembalikan (uint) stempel waktu dari blok saat ini
gasleft return(uint) Dapatkan sisa gas
msg.data return(uint256) Data panggilan lengkap (calldata)
msg.sender return(address) Alamat penelepon saat ini
msg.sig return(bytes4) Empat byte pertama dari data panggilan (calldata), seperti pengidentifikasi fungsi
msg.value return(uint) Ethereum yang dilampirkan pada pesan ini, di wei
tx.gasprice return(uint) Harga gas transaksi
tx.origin return(address) Pengirim transaksi
2. Pengkodean ABI
Nama lengkap ABI adalah Antarmuka Biner Aplikasi. Kami memulai transaksi (memanggil fungsi) ke alamat kontrak, dan konten transaksi adalah data yang dikodekan ABI. Gambar di bawah adalah ABI

Fungsi pengkodean terkait ABI
abi.encode(...) mengembalikan(byte) pengkodean ABI parameter perhitungan
abi.encodePacked(...) return(bytes) Menghitung pengkodean parameter yang padat
abi.encodeWithSelector(...) return(bytes) Menghitung pengkodean ABI dari penyeleksi fungsi dan parameter
abi.encodeWithSignature(...) return(bytes) Menghitung pengkodean ABI dari penyeleksi fungsi dan parameter
3. Latihan kode terkait
