Anticii spuneau că în piața ursului, citește mai mult și studiază mai mult. Fără mai mult, Heixiazi vă va împărtăși cunoștințele relevante despre API-ul de tranzacții bloc și ABI în soliditatea limbajului de dezvoltare a contractelor inteligente ETH. Sper că mă veți sprijini și aștept cu nerăbdare următoarea piață pentru ca ETH să depășească 10.000 de dolari SUA🙌 $ETH
1. Care sunt API-urile utilizate în mod obișnuit pentru blocuri și tranzacții?
blockhash(uint blockNumber) Returnează valoarea hash a numărului de bloc dat, acceptă doar ultimele 256 de blocuri
block.coinbase returns(adresă) Adresa minerului de blocuri curent
block.difficulty returns(uint) Dificultatea blocului curent
block.gaslimit returnează(uint) limita de gaz a blocului curent
block.number returnează(uint) Numărul de bloc al blocului curent
block.timestamp returnează (uint) marcajul temporal al blocului curent
gasleft returns(uint) Obține gazul rămas
msg.data returnează (uint256) Datele complete ale apelului (calldata)
msg.sender returns(adresa) Adresa apelantului curent
msg.sig returnează(bytes4) Primii patru octeți ai datelor de apel (calldata), cum ar fi un identificator de funcție
msg.value returnează(uint) Ethereum-ul atașat acestui mesaj, în wei
tx.gasprice returns(uint) Prețul gazului al tranzacției
tx.origin returns(adresa) Expeditorul tranzacției
2. Codificare ABI
Numele complet al ABI este Application Binary Interface. Inițiem o tranzacție (apelarea unei funcții) la adresa contractului, iar conținutul tranzacției este datele codificate ABI. Imaginea de mai jos este ABI

Funcții de codare legate de ABI
abi.encode(...) returnează (octeți) codificarea ABI a parametrilor de calcul
abi.encodePacked(...) returnează (octeți) Codificarea strânsă a parametrilor de calcul
abi.encodeWithSelector(...) returnează(octeți) Calculează codarea ABI a selectoarelor de funcții și a parametrilor
abi.encodeWithSignature(...) returnează(octeți) Calculează codarea ABI a selectoarelor de funcții și a parametrilor
3. Exerciții de cod aferente
