Senie teica, ka lāču tirgū vairāk lasi un mācies. Bez papildu piepūles Heixiazi dalīsies ar jums attiecīgajām zināšanām par bloku darījumu informācijas API un ABI ETH viedā līguma izstrādes valodā. Ceru, ka jūs mani atbalstīsit un gaidīsit nākamo bullīšu tirgu lai ETH pārvarētu 10 000 ASV dolāru🙌 $ETH

1. Kādi ir visbiežāk lietotie API blokiem un transakcijām?

blockhash(uint blockNumber) Atgriež dotā bloka numura jaucējvērtību, atbalsta tikai jaunākos 256 blokus

block.coinbase returns(address) Pašreizējā bloka ieguvēja adrese

block.difficulty returns(uint) Pašreizējā bloka grūtības

block.gaslimit atgriež(uint) pašreizējā bloka gaslimit

block.number returns(uint) Pašreizējā bloka bloka numurs

block.timestamp atgriež (uint) pašreizējā bloka laikspiedolu

gasleft returns(uint) Iegūstiet atlikušo gāzi

msg.data returns(uint256) Pilnīgi zvana dati (calldata)

msg.sender returns(address) Pašreizējā zvanītāja adrese

msg.sig returns(bytes4) Pirmie četri zvana datu (calldata) baiti, piemēram, funkcijas identifikators

msg.value returns(uint) Ethereum, kas pievienots šim ziņojumam, wei valodā

tx.gasprice returns(uint) Darījuma gāzes cena

tx.origin returns(address) Darījuma sūtītājs

2. ABI kodējums

ABI pilns nosaukums ir Application Binary Interface. Mēs iniciējam darījumu (funkcijas izsaukšanu) uz līguma adresi, un darījuma saturs ir ABI kodētie dati. Zemāk redzamajā attēlā ir ABI

Ar ABI saistītās kodēšanas funkcijas

abi.encode(...) atgriež(baitus) Aprēķinu parametru ABI kodējums

abi.encodePacked(...) atgriež(baitus) Aprēķinu parametru cieši iesaiņota kodēšana

abi.encodeWithSelector(...) atgriež(baitus) Aprēķina funkciju atlasītāju un parametru ABI kodējumu

abi.encodeWithSignature(...) atgriež(baitus) Aprēķina funkciju atlasītāju un parametru ABI kodējumu

3. Saistītie koda vingrinājumi