Assembly (Yul)
SolidityDéfinition
Langage bas niveau intégré à Solidity permettant d'écrire du code au niveau de l'EVM. Utilisé pour optimiser le gas, accéder à des opcodes non exposés en Solidity classique (comme SELFBALANCE, BASEFEE), ou manipuler directement la mémoire/storage. Réservé aux développeurs avancés car sans garde-fous (pas de vérification de type).
Version anglaise
Low-level language embedded in Solidity for writing EVM-level code. Used for gas optimization, accessing opcodes not exposed in regular Solidity (SELFBALANCE, BASEFEE), or directly manipulating memory/storage. Reserved for advanced developers as it lacks safety checks.
Exemple de Code
function getCodeSize(address addr) public view returns (uint256 size) {
assembly {
size := extcodesize(addr)
}
}
// Optimisation gas : lecture directe du storage
function getStorageSlot0() public view returns (bytes32 data) {
assembly {
data := sload(0) // Lire le slot 0 du storage
}
}Pages Liées
Pratique ce concept sur Solingo
Maîtrise Assembly (Yul) avec des exercices interactifs et un IDE intégré.
Commencer gratuitement