view y pure en Solidity
view lee estado, pure no toca nada; fuera de cadena ambas son gratis.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
// view reads state, pure touches none, neither costs gas offchain.
contract HarvestMath {
uint256 public bushels = 120;
function stored() external view returns (uint256) {
return bushels;
}
function crates(uint256 perCrate) external view returns (uint256) {
return bushels / perCrate;
}
function juiceLiters(uint256 b) external pure returns (uint256) {
return b * 35;
}
}
Cómo funciona
stored()esview: leebushelspero no puede escribir.cratesmezcla estado con un argumento, sigue siendo view.juiceLitersespure— argumentos que entran, respuesta que sale.
Palabras clave y builtins usados aquí
contractexternalfunctionpublicreturnreturnsuint256
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 433
- Tokens
- 69
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 69 segundos.
Paso 3 de 4 en Contratos; paso 3 de 28 en Fundamentos del lenguaje.