Função de fallback do Solidity: tudo o que você precisa saber
Este artigo visa fornecer uma compreensão clara sobre a função de fallback de solidity , a fim de fornecer conceitos valiosos ao aluno sobre as funções de fallback e seu funcionamento, respectivamente.
O que é a função de fallback do Solidity?
As funções de fallback do Solidity não possuem nome, parâmetros ou valores de retorno.
A função fallback é uma função especial em contratos Solidity que é chamada quando o contrato recebe fundos ou quando uma chamada de função inválida é feita para o contrato.
É uma função abrangente que permite que os contratos recebam ether e também lida com chamadas de função não reconhecidas.
Os seguintes cenários podem levar à sua execução:
- O identificador de função não é uma das funções disponíveis em contratos inteligentes.
- Se nenhum dado foi fornecido com a chamada de função.
- É possível atribuir apenas uma função sem nome a um contrato.
Propriedades da função de fallback do Solidity
- É uma função sem nome.
- É impossível para eles aceitar argumentos.
- É impossível devolver qualquer coisa.
- Em um contrato inteligente, pode existir apenas uma função de fallback.
- É obrigatório marcá-lo como externo.
- Você deve marcá-lo como a pagar. O contrato lançará uma exceção se o ether for recebido sem nenhum dado.
- Se invocado por outra função, será limitado a 2300 gás.
A função de fallback é chamada em dois casos:
- Quando um usuário envia ether para um contrato sem especificar uma chamada de função.
- Quando um usuário envia ether para um contrato e especifica uma chamada de função inválida.
No primeiro caso, a função de fallback é chamada automaticamente. No segundo caso, a função de fallback é chamada explicitamente pela EVM (Ethereum Virtual Machine).
Como usar a função de fallback?
A função de fallback pode ser utilizada de várias formas, dependendo dos requisitos do contrato.
Aqui estão alguns exemplos de como a função de fallback pode ser usada:
Casos de Uso | Visão geral |
receber éter | A função de fallback pode ser usada para receber ether de contas ou contratos externos. |
Rejeitar éter | A função de fallback pode ser usada para rejeitar ether de contas ou contratos externos. |
Redirecionar Ether | A função de fallback pode ser usada para redirecionar o ether para outro contrato. |
Executar Código | A função de fallback pode ser usada para executar o código quando uma chamada de função inválida é feita para o contrato. |
O programa fornecido mostra a declaração de uma função de fallback. A saída deste método só pode ser visível na seção de log:
Example:
Example:
Example:
Conclusão
As funções do Solidity Fallback são essenciais para os contratos inteligentes do Solidity . Com esse recurso, o contrato pode processar transações Ether recebidas e chamadas de função que não estão explicitamente definidas no contrato.
Os usuários do contrato podem usar funções de fallback ao lidar com pagamento personalizado e lógica de reembolso, lidar com entradas inesperadas normalmente ou fornecer um mecanismo de fallback em caso de erros.
O uso de funções de fallback deve, no entanto, ser implementado adequadamente para evitar a introdução de vulnerabilidades de segurança. Um contrato deve evitar enviar Ether ou fazer chamadas externas da função de fallback, pois isso pode ser potencialmente explorado por invasores.