Le gas, c'est de l'argent
Chaque opération coûte du gas. Optimiser, c'est économiser de l'argent pour vos utilisateurs.
Techniques d'optimisation
1. Storage vs Memory
// Coûteux : lecture storage répétée
for (uint i = 0; i < array.length; i++) { ... }
// Optimisé : cache en mémoire
uint len = array.length;
for (uint i = 0; i < len; i++) { ... }
2. Packing des variables
// Mauvais : 3 slots
struct Bad { uint256 a; uint8 b; uint256 c; }
// Bon : 2 slots
struct Good { uint256 a; uint256 c; uint8 b; }
3. Custom errors
// Coûteux
require(balance >= amount, "Insufficient balance");
// Économique
error InsufficientBalance();
if (balance < amount) revert InsufficientBalance();
Outils de mesure
Utilisez hardhat-gas-reporter ou forge test --gas-report pour identifier les fonctions coûteuses.


