Staří lidé říkali, že na medvědím trhu více čtěte a více studujte. Bez dalších řečí se s vámi Heixiazi podělí o relevantní znalosti o blokových transakčních informacích API a ABI v ETH smart contract development language solidity. Doufám, že mě podpoříte a těšíme se na další buly trh pro ETH prolomí 10 000 amerických dolarů🙌 $ETH
1. Jaká jsou běžně používaná API pro bloky a transakce?
blockhash(uint blockNumber) Vrací hodnotu hash daného čísla bloku, podporuje pouze posledních 256 bloků
block.coinbase returns(address) Adresa aktuálního těžaře bloků
block.difficulty returns(uint) Obtížnost aktuálního bloku
block.gaslimit vrací (uint) gaslimit aktuálního bloku
block.number returns(uint) Číslo bloku aktuálního bloku
block.timestamp vrací (uint) časové razítko aktuálního bloku
gasleft se vrací (uint) Získejte zbývající plyn
msg.data returns(uint256) Kompletní data hovoru (calldata)
msg.sender returns(address) Adresa aktuálního volajícího
msg.sig returns(bytes4) První čtyři bajty dat volání (calldata), jako je identifikátor funkce
msg.value returns(uint) Ethereum připojené k této zprávě ve wei
tx.gasprice returns(uint) Cena plynu transakce
tx.origin returns(address) Odesílatel transakce
2. Kódování ABI
Úplný název ABI je Application Binary Interface Zahájíme transakci (volání funkce) na adresu smlouvy a obsahem transakce jsou data zakódovaná v ABI. Na obrázku níže je ABI

Funkce kódování související s ABI
abi.encode(...) returns(bytes) ABI kódování parametrů výpočtu
abi.encodePacked(...) returns(bytes) Pevně zabalené kódování parametrů výpočtu
abi.encodeWithSelector(...) returns(bytes) Vypočítá ABI kódování selektorů funkcí a parametrů
abi.encodeWithSignature(...) returns(bytes) Vypočítá ABI kódování selektorů funkcí a parametrů
3. Související kódová cvičení
