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
- Los valores
constantviven en el bytecode mismo. - Los campos
immutablese fijan una vez, en el constructor. msg.senderdentro del constructor es quien despliega.
Palabras clave y builtins usados aquí
addressconstructorcontractexternalfunctionpublicreturnreturnsuint256
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.
Paso 4 de 4 en Contratos; paso 4 de 28 en Fundamentos del lenguaje.