Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Estructura del Smart Contract

6/21
Recursos

Aportes 4

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Partes de un smart contract

  • Cabecera:
    • Prama instrucciones que indica la versión de compilador
    • Include referencia a otros contratos
  • Declaración del contrato:
    • Nombre
    • Características adicionales
  • Variables de estado:
    • información que va a manejar el contrato inteligente
      • saldo, texto y número
  • Métodos o funciones:
    • reglas que tiene el contrato para hacer modificaciones en las variables de estado
  • Interacción con la cadena de bloques
    • Funciones view no hacen modificaciones, solo lee el estado de la cadena de bloques, no pasan por el algoritmo de consenso y pasan por un solo nodo (local) , no tiene un costo en GAS, es gratis.
    • Funciones normales hacen modificaciones o escrituras sobre las variables de estado, requiere que los nodos alcancen consenso (consistente, coherente y valido) y tiene un costo
    • Funciones puras no leen ni escriben, son cálculos y no tienen tampoco costo.

Código de segundo ejemplo

pragma solidity ^0.5;

contract HolaMundo {

    string frase;  // variable de estado

    constructor() public { // función especial solo se ejecuta al instanciarse el contrato 
        frase = "Hola Mundo"; // asigna a la variable de estado un valor
    }

    function setFrase(string memory _frase) public { // función normal que tiene costo, cambia una variable de estado
        frase = _frase;
    }

    function getFrase () view public returns(string memory _frase){ // función de tipo view (solo lee el estado de la variable de estadom y no es almacenado en disco solo en memoria)
        return frase;
    }

}

Código del primer ejemplo

pragma solidity ^0.5;

contract HolaMundo {

    string frase;  // variable de estado

    constructor() public { // función especial solo se ejecuta al instanciarse el contrato 
        frase = "Hola Mundo"; // asigna a la variable de estado un valor
    }

    function getFrase () view public returns(string memory _frase){ // función de tipo view (solo lee el estado de la variable de estadom y no es almacenado en disco solo en memoria)
        return frase;
    }

}