Solidity: implemente un contrato inteligente para el sistema de gestión de marcas

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, el objetivo es implementar un contrato inteligente para el sistema de gestión de marcas mediante el uso de Solidity. En este contrato, se pueden agregar los detalles de cada estudiante, como la identificación del estudiante, el nombre, las calificaciones, etc., y si se desea otorgar algunas calificaciones de bonificación a los estudiantes, también se pueden agregar. Después de construir el contrato, se pueden recuperar todos los detalles de cada estudiante.

Acercarse:

  1. El primer paso es implementar el contrato inteligente utilizando el IDE de Remix. Después de escribir el código compila el código. Cuando se haya compilado correctamente, despliéguelo. Después de implementar el contrato, se obtiene un contrato implementado y luego se agregan los detalles del estudiante uno por uno.
  2. Si es necesario agregar puntos de bonificación, agregue en la sección bonusMarks después de eso, haga clic en stdCount y obtenga los detalles del estudiante para llamar a stdRecords.
  3. Agregue uno o más detalles de estudiantes nuevos en este contrato inteligente por el incremento de stdCount.

Implementación

Paso 1: Abra el IDE de Remix .

Paso 2: Haga clic en Exploradores de archivos y seleccione Solidez en el entorno y cree un nuevo archivo StudentMarksMangmtSys.sol haciendo clic en la sección Nuevo archivo.

Remix IDE

Paso 3: cree un contrato inteligente que contenga todos los detalles del estudiante con la ayuda de Remix IDE haciendo clic en el nombre del archivo.

Solidity

// Solidity program to implement
// the above approach
pragma solidity >= 0.7.0<0.8.0;
  
// Build the Contract
contract MarksManagmtSys
{
    // Create a structure for 
    // student details
    struct Student
    {
        int ID;
        string fName;
        string lName;
        int marks;
    }
  
    address owner;
    int public stdCount = 0;
    mapping(int => Student) public stdRecords;
  
    modifier onlyOwner
    {
        require(owner == msg.sender);
        _;
    }
    constructor()
    {
        owner=msg.sender;
    }
  
    // Create a function to add 
    // the new records
    function addNewRecords(int _ID, 
                           string memory _fName,
                           string memory _lName,
                           int _marks) public onlyOwner
    {
        // Increase the count by 1
        stdCount = stdCount + 1;
  
        // Fetch the student details 
        // with the help of stdCount
        stdRecords[stdCount] = Student(_ID, _fName, 
                                       _lName, _marks);
    }
  
    // Create a function to add bonus marks 
    function bonusMarks(int _bonus) public onlyOwner
    {
         stdRecords[stdCount].marks = 
                    stdRecords[stdCount].marks + _bonus;
    }
}

Paso 4: Después de construir el contrato, compílelo. Seleccione la versión del compilador antes de hacer clic en el botón Compilar. 

Compile the contract

Paso 5: Después de una compilación exitosa, para implementar el contrato, seleccione la VM de JavaScript de entorno (Berlín) antes de hacer clic en el botón Implementar.

Deploy the contract

Paso 6: si el contrato se implementa con éxito, se obtiene el contrato implementado. Abra el contrato implementado y agregue los detalles del estudiante y realice la transacción.

Deployed contract

Paso 7: agregue las marcas de bonificación si desea dárselas al estudiante y realice la transacción después de eso, haga clic en stdCount. Uno puede ver los detalles del estudiante después de llamar a stdRecords ingresando el stdCount.

Add bonus marks

Publicación traducida automáticamente

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