Calldata
Calldata refere-se a um local de armazenamento temporário de dados em uma plataforma de contrato inteligente em que os dados são enviados junto com uma transação ao chamar uma função em um contrato inteligente. O Calldata é uma parte não persistente e somente leitura dos dados da transação e, uma vez enviado com uma transação, não pode ser modificado pelo contrato inteligente.
O termo é mais comumente associado a Ethereum e a Ethereum Virtual Machine (EVM), e é essencial para interagir com contratos inteligentes, pois carrega todas as informações necessárias (como argumentos de função) para executar funções específicas dentro desses contratos.
Quando um usuário ou outro contrato chama uma função de um contrato inteligente, os parâmetros para essa função são codificados e enviados por meio do campo calldata. Em seguida, o contrato inteligente decodifica os calldata para recuperar os parâmetros da função para processamento.
Diferentemente do armazenamento do contrato (que é caro em termos de taxas de gás ), o calldata não é armazenado on-chain depois que a transação é processada. Ele é usado somente durante a execução da transação e descartado depois.
O Calldata é mais eficiente em termos de consumo de gás do que outras formas de armazenamento na blockchain, o que o torna uma opção preferível para passar grandes quantidades de dados quando os usuários não precisam armazenar permanentemente os dados on-chain.
Principais conclusões
Calldata é um componente essencial para transmitir entradas para funções de contrato inteligente, otimizando o custo por ser temporário e não modificável durante a execução.
