Древние говорили, что на медвежьем рынке больше читайте и больше учитесь. Без лишних слов, Хэйсязи поделится с вами соответствующими знаниями об API информации о блочных транзакциях и ABI на языке разработки смарт-контрактов ETH. Программировать непросто. Надеюсь, вы меня поддержите и с нетерпением ждете следующего бычьего рынка. чтобы ETH преодолел отметку в 10 000 долларов США🙌 $ETH
1. Какие API-интерфейсы обычно используются для блоков и транзакций?
blockhash(uint blockNumber) Возвращает хэш-значение заданного номера блока, поддерживает только последние 256 блоков.
block.coinbase возвращает(адрес) Адрес текущего майнера блока.
block.difficulty возвращает(uint) Сложность текущего блока
block.gaslimit возвращает(uint) лимит газа текущего блока
block.number возвращает (uint) номер текущего блока
block.timestamp возвращает (uint) временную метку текущего блока
gasleft return(uint) Получить оставшийся газ
msg.data возвращает (uint256) Полные данные вызова (calldata)
msg.sender возвращает(адрес) Адрес текущего вызывающего абонента
msg.sig возвращает(bytes4) Первые четыре байта данных вызова (calldata), например идентификатор функции.
msg.value возвращает(uint) Эфириум, прикрепленный к этому сообщению, в wei
tx.gasprice возвращает(uint) Цена газа в транзакции
tx.origin возвращает(адрес) Отправитель транзакции
2. Кодировка ABI
Полное имя ABI — Двоичный интерфейс приложения. Мы инициируем транзакцию (вызов функции) по адресу контракта, а содержимое транзакции — это закодированные данные ABI. На рисунке ниже показан ABI.

Функции кодирования, связанные с ABI
abi.encode(...) возвращает (байты) кодировку ABI параметров расчета.
abi.encodePacked(...) возвращает(байты) Вычисляет плотно упакованное кодирование параметров
abi.encodeWithSelector(...) возвращает(байты) Вычисляет кодировку ABI селекторов функций и параметров.
abi.encodeWithSignature(...) возвращает(байты) Вычисляет кодировку ABI селекторов функций и параметров.
3. Сопутствующие упражнения по коду
