¿Qué es Smart Contract en Solidity?

El código de Solidity está encapsulado en contratos, lo que significa que un contrato en Solidity es una colección de código (sus funciones) y datos (su estado) que reside en una dirección específica en la string de bloques de Ethereum. Un contrato es un bloque fundamental para construir una aplicación en Ethereum. 

Ejemplo:

Solidity

// Solidity program to 
// demonstrate how to
// write a smart contract 
pragma solidity >= 0.4.16 < 0.7.0;
  
// Defining a contract
contract Storage
{
    
    // Declaring state variables
    uint public setData;
  
    // Defining public function 
    // that sets the value of 
    // the state variable
    function set(uint x) public
    {
        setData = x;
    }
      
    // Defining function to
    // print the value of
    // state variable
    function get(
    ) public view returns (uint) {
        return setData;
    }
}

Explicación:

1. Versión Pragma: 

pragma solidity >=0.4.16 <0.7.0;

Los pragmas son instrucciones para el compilador sobre cómo tratar el código. Todo el código fuente de solidity debe comenzar con una «versión pragma», que es una declaración de la versión del compilador de solidity que debe usar este código. Esto ayuda a que el código no sea incompatible con las futuras versiones del compilador que pueden traer cambios. El código mencionado anteriormente establece que es compatible con compiladores de versión superior e igual a 0.4.16 pero inferior a la versión 0.7.0.

2. La palabra clave del contrato: 

contract Storage{ 
//Functions and Data 
}

La palabra clave contract declara un contrato bajo el cual se encapsula el código.

3. Variables de estado: 

uint public setData;

Las variables de estado se almacenan permanentemente en el almacenamiento de contratos, es decir, están escritas en Ethereum Blockchain. La línea uint setData declara una variable de estado llamada setData de tipo uint (entero sin signo de 256 bits). Piense en ello como agregar un espacio en una base de datos.

4. Una declaración de función:

function set(uint x) public
function get() public view returns (uint)
  • Esta es una función llamada conjunto de tipo de modificador de acceso público que toma una variable x de tipo de datos uint como parámetro. 
    Este fue un ejemplo de un contrato inteligente simple que actualiza el valor de setData. Cualquiera puede llamar al conjunto de funciones y sobrescribir el valor de setData que se almacena en la string de bloques de Ethereum y es posible que nadie pueda impedir que alguien use esta función. Este es un ejemplo de una aplicación descentralizada que está a prueba de censura y no se ve afectada por el cierre de ningún servidor centralizado. Siempre que alguien esté ejecutando un solo Node de Ethereum blockchain, este contrato inteligente será accesible.
  • La función get recuperará e imprimirá el valor de la variable de estado.

Producción:

Publicación traducida automáticamente

Artículo escrito por ciberexplosion y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *