La solidez es un lenguaje de alto nivel. La estructura de los contratos inteligentes en Solidity es muy similar a la estructura de las clases en los lenguajes orientados a objetos. El archivo de solidez tiene una extensión .sol.
¿Qué son los contratos inteligentes?
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: en el siguiente ejemplo, nuestro objetivo es crear un contrato inteligente para demostrar cómo almacenar y recuperar los detalles de los empleados de una organización utilizando estructuras, arrays y funciones.
Solución:
- Cree un contrato inteligente, StructDemo que tenga la estructura Empleado con miembros de datos como empid, nombre, departamento, designación. Cree una array dinámica de empleados como emps.
- Cree una función addEmployee() que tome los datos del empleado y los almacene en una array dinámica llamada emps.
- Cree una función getEmployee() que tome la identificación del empleado, busque el registro en la array emps y devuelva los detalles como el nombre, el departamento y la designación.
Implementación:
Paso 1: Abra Remix-IDE .
Paso 2: seleccione Explorador de archivos en los iconos del lado izquierdo y seleccione Solidez en el entorno. Haga clic en la opción Nuevo debajo del entorno Solidez. Ingrese el nombre del archivo como StructDemo.sol y haga clic en el botón Aceptar.
Paso 3: Ingrese el siguiente código de solidez. Seleccione la misma versión de solidez que en su código.
Solidity
// Solidity program // to store // Employee Details pragma solidity ^0.6.8; // Creating a Smart Contract contract StructDemo{ // Structure of employee struct Employee{ // State variables int empid; string name; string department; string designation; } Employee []emps; // Function to add // employee details function addEmployee( int empid, string memory name, string memory department, string memory designation ) public{ Employee memory e =Employee(empid, name, department, designation); emps.push(e); } // Function to get // details of employee function getEmployee( int empid ) public view returns( string memory, string memory, string memory){ uint i; for(i=0;i<emps.length;i++) { Employee memory e =emps[i]; // Looks for a matching // employee id if(e.empid==empid) { return(e.name, e.department, e.designation); } } // If provided employee // id is not present // it returns Not // Found return("Not Found", "Not Found", "Not Found"); } }
Paso 4: Compile el archivo StructDemo.sol desde la pestaña Solidity Compiler.
Paso 5: implemente el contrato inteligente desde la pestaña Implementar y ejecutar transacción.
Paso 6: luego agregue los detalles del empleado a través de addEmployee() y luego, puede ver los detalles de cualquier empleado que use la identificación del empleado a través de getEmployee().