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