typestar

Mappings en Solidity

El almacén clave-valor; las claves ausentes se leen como cero.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

// A mapping is a key-value store; missing keys read as zero.
contract ShareLedger {
    mapping(address => uint256) public shares;
    mapping(address => mapping(uint256 => bool)) public votedOn;

    function issue(address member, uint256 amount) external {
        shares[member] += amount;
    }

    function castVote(uint256 proposal) external {
        votedOn[msg.sender][proposal] = true;
    }

    function hasShares(address member) external view returns (bool) {
        return shares[member] > 0;
    }
}

Cómo funciona

  1. mapping(address => uint256) no tiene largo ni iteración.
  2. Los mappings anidan: dirección a propuesta a bool.
  3. Leer una clave ausente devuelve el cero del tipo, jamás revierte.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
20
Caracteres a escribir
519
Tokens
97
Ritmo de tres estrellas
55 tpm

Al ritmo de tres estrellas de 55 tokens por minuto, este intento toma unos 106 segundos.

Escribe este fragmento

Paso 1 de 3 en Almacenamiento; paso 5 de 28 en Fundamentos del lenguaje.

← Anterior Siguiente →