Pure
SolidityDéfinition
Modificateur de fonction indiquant qu'elle ne lit ni ne modifie l'état du contrat. Fonctions mathématiques pures, utilitaires, hash, etc. Plus restrictif que view. Ne peut pas accéder au storage, aux variables d'état, ni à block, msg (sauf msg.sig et msg.data). Utile pour des fonctions utilitaires sans effet de bord.
Version anglaise
Function modifier indicating it neither reads nor modifies contract state. Pure mathematical functions, utilities, hash, etc. More restrictive than view. Cannot access storage, state variables, nor block, msg (except msg.sig and msg.data). Useful for utility functions without side effects.
Exemple de Code
contract Math {
// Pure : ne lit ni ne modifie l'état
function add(uint256 a, uint256 b) public pure returns (uint256) {
return a + b;
}
function hash(string memory str) public pure returns (bytes32) {
return keccak256(abi.encodePacked(str));
}
// ❌ Erreur : lit l'état (this.balance)
// function getBalance() public pure returns (uint256) {
// return address(this).balance; // ERREUR : pas pure
// }
}Pages Liées
Pratique ce concept sur Solingo
Maîtrise Pure avec des exercices interactifs et un IDE intégré.
Commencer gratuitement