Payable
SolidityDéfinition
Mot-clé permettant à une fonction ou une adresse de recevoir de l'ether. Fonction payable : peut recevoir msg.value. Adresse payable : peut recevoir des transferts via .transfer() ou .send(). Sans payable, toute tentative d'envoi d'ether provoque une erreur. Essentiel pour les paiements on-chain.
Version anglaise
Keyword allowing a function or address to receive ether. Payable function: can receive msg.value. Payable address: can receive transfers via .transfer() or .send(). Without payable, any ether sending attempt causes error. Essential for on-chain payments.
Exemple de Code
contract Payment {
address payable public owner;
constructor() {
owner = payable(msg.sender); // Cast en payable
}
// Fonction payable : accepte de l'ether
function deposit() public payable {
require(msg.value > 0, "Send ETH");
}
// Envoyer de l'ether depuis le contrat
function withdraw() public {
require(msg.sender == owner, "Not owner");
owner.transfer(address(this).balance);
}
// Recevoir de l'ether directement
receive() external payable {}
}Pages Liées
Pratique ce concept sur Solingo
Maîtrise Payable avec des exercices interactifs et un IDE intégré.
Commencer gratuitement