msg.sender
EVMDefinition
Variable globale contenant l'adresse de l'appelant direct de la fonction. Dans une chaîne d'appels A → B → C, `msg.sender` dans C sera B. Contrairement à `tx.origin` (toujours l'EOA initial), `msg.sender` change à chaque appel. Utilisé pour l'authentification.
English version
Global variable containing address of direct function caller. In call chain A → B → C, `msg.sender` in C will be B. Unlike `tx.origin` (always initial EOA), `msg.sender` changes per call.
Exemple de Code
address public owner;
constructor() {
owner = msg.sender; // Défini le déployeur comme owner
}
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
function transfer(address to, uint amount) public {
balances[msg.sender] -= amount; // Débite l'appelant
balances[to] += amount;
}Pages Liees
Pratique ce concept sur Solingo
Maîtrise msg.sender avec des exercices interactifs et un IDE intégré.
Commencer gratuitement