Variáveis Globais em Solidity

Variáveis Globais em Solidity

As variáveis globais em Solidity fornecem informações úteis sobre o contexto atual do contrato, como detalhes da transação, do bloco, e do ambiente de execução. Aqui está um resumo das principais variáveis globais:

Transação e Mensagem

  • msg.sender: Endereço do remetente da chamada atual (quem está enviando a transação).

  • msg.value: Quantidade de wei (a menor unidade de ether) enviada com a chamada.

  • msg.data: Dados completos enviados na chamada (útil para contratos que lidam com chamadas não padrão).

  • msg.sig: Primeiro quatro bytes dos dados enviados na chamada (a assinatura da função chamada).

  • msg.gas: Quantidade de gás restante na chamada (depreciado na versão 0.4.21 e removido nas versões posteriores).

Bloco

  • block.number: Número do bloco atual.

  • block.timestamp: Timestamp do bloco atual (em segundos desde a epoch).

  • block.difficulty: Dificuldade do bloco atual.

  • block.coinbase: Endereço do minerador que criou o bloco atual.

  • block.gaslimit: Limite de gás do bloco atual.

  • block.chainid: ID da cadeia de blocos (útil para redes que suportam múltiplas cadeias).

Ambiente

  • tx.origin: Endereço do remetente original da transação (não apenas o remetente da chamada atual).

  • tx.gasprice: Preço do gás da transação atual.

Exemplos de Uso

Verificação de Sender

Registro de Transações

Uso de Block Timestamp