Storage
EVMDefinition
Zone de stockage persistante du contrat sur la blockchain. Chaque contrat a son propre storage organisé en slots de 32 bytes. Extrêmement coûteux en gas (20000 gas pour écrire un nouveau slot). Les variables d'état sont en storage. Optimisation : packing de variables, minimiser les écritures.
English version
Persistent storage area of contract on blockchain. Each contract has own storage organized in 32-byte slots. Extremely expensive in gas (20000 gas to write new slot). State variables are in storage.
Exemple de Code
contract StorageExample {
// Variables d'état : en storage (persistant)
uint256 public counter; // Slot 0
address public owner; // Slot 1 (20 bytes)
bool public isActive; // Slot 1 (1 byte, packed avec owner)
// Optimisation : packing
uint128 public value1; // Slot 2 (16 bytes)
uint128 public value2; // Slot 2 (16 bytes, packed)
// Éviter écritures storage inutiles
function increment() public {
counter++; // SSTORE : 5000 gas (slot déjà utilisé)
}
}Pages Liees
Pratique ce concept sur Solingo
Maîtrise Storage avec des exercices interactifs et un IDE intégré.
Commencer gratuitement