Contrato inteligente para almacenar detalles de empleados

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:

  1. 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.
  2. Cree una función addEmployee() que tome los datos del empleado y los almacene en una array dinámica llamada emps.
  3. 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.

Create a new .sol file

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.

Compile the code

Paso 5: implemente el contrato inteligente desde la pestaña Implementar y ejecutar transacción.

Deploy the code

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().

Publicación traducida automáticamente

Artículo escrito por muskan02 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 *