Calldata refere-se a um local de armazenamento temporário de dados numa plataforma de smart contract , onde os dados são enviados junto com uma transação ao chamar uma função num smart contract. Calldata é uma parte não persistente e apenas de leitura dos dados da transação e, uma vez enviados com uma transação, não podem ser modificados pelo smart contract.
O termo é mais frequentemente associado à Ethereum e à Máquina Virtual Ethereum (EVM), e é essencial para interagir com smart contracts, pois carrega todas as informações necessárias (como argumentos de função) para executar funções específicas dentro do smart contract.
Quando um utilizador ou outro contrato chama uma função de um smart contract, os parâmetros para essa função são codificados e enviados através do campo calldata. O smart contract então decodifica os calldata para recuperar os parâmetros da função para processamento.
Ao contrário do armazenamento de contratos (que é caro em termos de taxas de gás ), os calldata não são armazenados na cadeia após o processamento da transação. Eles são usados apenas durante a execução da transação e descartados posteriormente.
O Calldata é mais eficiente em termos de consumo de gás do que outras formas de armazenamento na blockchain , o que o torna uma preferência para a transmissão de grandes quantidades de dados quando os utilizadores não precisam armazenar os dados permanentemente on-chain.