typestar

constant e immutable en Solidity

Horneado al compilar, o fijado una vez al desplegar.

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

// constant is baked at compile time; immutable at deployment.
contract Charter {
    uint256 public constant MAX_PLOTS = 40;
    address public immutable founder;
    uint256 public immutable plantedYear;

    constructor(uint256 year) {
        founder = msg.sender;
        plantedYear = year;
    }

    function age(uint256 now_) external view returns (uint256) {
        return now_ - plantedYear;
    }
}

Cómo funciona

  1. Los valores constant viven en el bytecode mismo.
  2. Los campos immutable se fijan una vez, en el constructor.
  3. msg.sender dentro del constructor es quien despliega.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
417
Tokens
61
Ritmo de tres estrellas
60 tpm

Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 61 segundos.

Escribe este fragmento

Paso 4 de 4 en Contratos; paso 4 de 28 en Fundamentos del lenguaje.

← Anterior Siguiente →