Interfaces en Solidity
La forma de un contrato que solo conoces por dirección.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
// An interface is the shape of a contract you only know by address.
interface IScale {
function weigh(uint256 crateId) external view returns (uint256);
}
contract Auditor {
IScale public scale;
constructor(address scaleAddress) {
scale = IScale(scaleAddress);
}
function checkCrate(uint256 crateId) external view returns (bool) {
return scale.weigh(crateId) >= 18;
}
}
Cómo funciona
interface IScaledeclara firmas, sin cuerpos.IScale(scaleAddress)castea una dirección a la forma.- Las llamadas a través suyo son llamadas externas reales.
Palabras clave y builtins usados aquí
addressboolconstructorcontractexternalfunctionpublicreturnreturnsuint256
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 430
- Tokens
- 70
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 70 segundos.
Paso 2 de 4 en Composición; paso 18 de 28 en Fundamentos del lenguaje.