Mapping

Solidity

Définition

Structure de données clé-valeur (comme un dictionnaire/hashmap). Très efficace en gas, pas de limitation de taille. Pas itérable (impossible de lister toutes les clés). Stocké dans le storage du contrat. Syntaxe : mapping(KeyType => ValueType). Les clés inexistantes retournent la valeur par défaut (0, false, address(0), etc.).

Version anglaise

Key-value data structure (like a dictionary/hashmap). Very gas-efficient, no size limitation. Not iterable (impossible to list all keys). Stored in contract storage. Syntax: mapping(KeyType => ValueType). Non-existent keys return default value (0, false, address(0), etc.).

Exemple de Code

contract Ledger {
  mapping(address => uint256) public balances; // Solde de chaque adresse

  // Mapping imbriqué (allowances ERC-20)
  mapping(address => mapping(address => uint256)) public allowances;

  function deposit() public payable {
    balances[msg.sender] += msg.value;
  }

  function getBalance(address user) public view returns (uint256) {
    return balances[user]; // Retourne 0 si jamais set
  }
}

Termes Liés

Pratique ce concept sur Solingo

Maîtrise Mapping avec des exercices interactifs et un IDE intégré.

Commencer gratuitement