typestar

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

  1. interface IScale declara firmas, sin cuerpos.
  2. IScale(scaleAddress) castea una dirección a la forma.
  3. Las llamadas a través suyo son llamadas externas reales.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 4 en Composición; paso 18 de 28 en Fundamentos del lenguaje.

← Anterior Siguiente →

Interfaces en otros lenguajes