Starożytni mówili, że podczas bessy czytaj więcej i studiuj więcej. Bez zbędnych ceregieli Heixiazi podzieli się z Tobą odpowiednią wiedzą na temat API i ABI informacji o transakcjach blokowych w solidności języka programowania inteligentnych kontraktów ETH. Kodowanie nie jest łatwe. Mam nadzieję, że będziesz mnie wspierać i nie mogę się doczekać kolejnej hossy aby ETH przebił barierę 10 000 dolarów amerykańskich🙌 $ETH
1. Jakie są powszechnie używane interfejsy API dla bloków i transakcji?
blockhash(uint blockNumber) Zwraca wartość skrótu podanego numeru bloku, obsługuje tylko ostatnie 256 bloków
block.coinbase zwraca (adres) Adres bieżącego górnika blokowego
block.difficulty zwraca(uint) Poziom trudności bieżącego bloku
block.gaslimit zwraca(uint) limit gazu bieżącego bloku
block.number zwraca(uint) Numer bieżącego bloku
block.timestamp zwraca(uint) znacznik czasu bieżącego bloku
gasleft zwraca (uint) Zdobądź pozostały gaz
msg.data zwraca (uint256) Kompletne dane połączenia (calldata)
msg.sender zwraca(adres) Adres bieżącego rozmówcy
msg.sig return(bytes4) Pierwsze cztery bajty danych połączenia (calldata), np. identyfikator funkcji
msg.value zwraca(uint) Ethereum dołączone do tej wiadomości, w formacie wei
tx.gasprice zwraca (uint) Cena gazu w transakcji
tx.origin zwraca (adres) Nadawca transakcji
2. Kodowanie ABI
Pełna nazwa ABI to Application Binary Interface. Inicjujemy transakcję (wywołanie funkcji) na adres kontraktu, a treścią transakcji są dane zakodowane w ABI. Poniższe zdjęcie przedstawia ABI

Funkcje kodowania związane z ABI
abi.encode(...) zwraca(bajty) Kodowanie ABI parametrów obliczeniowych
abi.encodePacked(...) zwraca(bajty) Ściśle upakowane kodowanie parametrów obliczeniowych
abi.encodeWithSelector(...) zwraca(bytes) Oblicza kodowanie ABI selektorów funkcji i parametrów
abi.encodeWithSignature(...) zwraca(bytes) Oblicza kodowanie ABI selektorów funkcji i parametrów
3. Powiązane ćwiczenia z kodem
