Assembly (Yul)

Solidity

Dé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
  }
}

Termes Liés

Pratique ce concept sur Solingo

Maîtrise Assembly (Yul) avec des exercices interactifs et un IDE intégré.

Commencer gratuitement