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