Os antigos diziam que no mercado baixista, leia mais e estude mais. Sem mais delongas, Heixiazi compartilhará com você o conhecimento relevante da API de informações de transação em bloco e ABI na solidez da linguagem de desenvolvimento de contrato inteligente ETH. Não é fácil de codificar. para a ETH ultrapassar 10.000 dólares americanos🙌 $ETH

1. Quais são as APIs comumente usadas para blocos e transações?

blockhash(uint blockNumber) Retorna o valor hash do número de bloco fornecido, suporta apenas os 256 blocos mais recentes

block.coinbase return(address) O ​​endereço do minerador de bloco atual

block.difficulty return(uint) Dificuldade do bloco atual

block.gaslimit retorna (uint) gaslimit do bloco atual

block.number retorna (uint) Número do bloco atual

block.timestamp retorna (uint) carimbo de data/hora do bloco atual

gasleft retorna (uint) Obtenha o gás restante

msg.data retorna (uint256) Dados completos da chamada (calldata)

msg.sender retorna (endereço) O endereço do chamador atual

msg.sig retorna (bytes4) Os primeiros quatro bytes dos dados da chamada (calldata), como um identificador de função

msg.value return(uint) O Ethereum anexado a esta mensagem, em wei

tx.gasprice return(uint) O preço do gás da transação

tx.origin retorna (endereço) O remetente da transação

2. Codificação ABI

O nome completo da ABI é Application Binary Interface. Iniciamos uma transação (chamando uma função) para o endereço do contrato e o conteúdo da transação são os dados codificados pela ABI. A imagem abaixo é a ABI

Funções de codificação relacionadas à ABI

abi.encode(...) retorna (bytes) Codificação ABI de parâmetros de cálculo

abi.encodePacked(...) retorna(bytes) Calcula codificação compactada de parâmetros

abi.encodeWithSelector(...) retorna(bytes) Calcula a codificação ABI de seletores de função e parâmetros

abi.encodeWithSignature(...) retorna(bytes) Calcula a codificação ABI de seletores de função e parâmetros

3. Exercícios de código relacionados