Interface
SolidityDéfinition
Contrat abstrait définissant les signatures de fonctions sans implémentation. Utilisé pour interagir avec des contrats externes dont on connaît l'ABI. Toutes les fonctions sont automatiquement external. Pas de variables d'état, pas de constructor, pas de fonctions internes. Permet le polymorphisme et la composition de contrats.
Version anglaise
Abstract contract defining function signatures without implementation. Used to interact with external contracts whose ABI is known. All functions are automatically external. No state variables, no constructor, no internal functions. Enables polymorphism and contract composition.
Exemple de Code
// Interface ERC-20
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
}
// Utilisation
contract MyContract {
IERC20 public token;
constructor(address _token) {
token = IERC20(_token); // Cast de l'adresse vers l'interface
}
function checkBalance(address user) public view returns (uint256) {
return token.balanceOf(user); // Appel via l'interface
}
}Termes Liés
Pages Liées
Pratique ce concept sur Solingo
Maîtrise Interface avec des exercices interactifs et un IDE intégré.
Commencer gratuitement