En esta sección, discutiremos el proceso de escribir un contrato inteligente básico usando Solidity. Cubriremos componentes esenciales como variables, funciones y modificadores. Luego, recorreremos un ejemplo de implementación de un contrato de token simple.
Variables, funciones y modificadores
Creemos un contrato de token simple usando Solidity. Este contrato permitirá a los usuarios transferir tokens entre cuentas y verificar el saldo de tokens de cualquier cuenta.
TypeScriptpragma solidez ^0.8.0;contrato SimpleToken { // Declarar variables de estado dirección pública propietaria; asignación(dirección => uint256) públicas saldos; // Inicializar el contrato del token constructor(uint256 suministroInicial) { propietaria = msg.sender; saldos[propietaria] = suministroInicial; } // Función para transferir tokens función transferir(dirección a, uint256 cantidad) pública { require(saldos[msg.sender] >= cantidad, "Saldo insuficiente"); saldos[msg.sender] -= cantidad; saldos[a] += cantidad; } // Función para verificar el saldo del token de una cuenta función balanceOf(dirección cuenta) pública vista devuelve (uint256) { return saldos[cuenta]; }}
```En este contrato, tenemos:
- Variables de estado`propietario`y`saldos`para almacenar la dirección del propietario del contrato y los saldos de tokens de todas las direcciones, respectivamente.- Una `constructor`función que establece el suministro inicial de tokens y los asigna al propietario del contrato.- Un `transferencia`función que permite a los usuarios transferir tokens a otras cuentas. Utiliza el `requerir`declaración para asegurar que el remitente tiene suficientes tokens para transferir.- Una `balanceOf`función que devuelve el saldo del token de una cuenta especificada.- Este contrato básico de token demuestra cómo usar variables, funciones y modificadores en Solidity para crear un contrato inteligente simple y funcional.**Ejemplo2: Implementación de un sistema de votación simple**
pragma solidity ^0.8.0;contrato SistemaDeVotacion { mapeo (bytes32 => uint256) public votesReceived; bytes32[] public candidateList; constructor(bytes32[] memory candidateNames) { candidateList = candidateNames; } función voteForCandidate(bytes32 candidate) public { require(validCandidate(candidate), "Candidato inválido."); votesReceived[candidate] += 1; } función totalVotesFor(bytes32 candidate) public view returns (uint256) { require(validCandidate(candidate), "Candidato inválido."); return votesReceived[candidate]; } función validCandidate(bytes32 candidate) public view returns (bool) { for (uint256 i = 0; i Aspectos destacados Las variables, funciones y modificadores son componentes esenciales en contratos inteligentes de Solidity. Solidity tiene dos tipos de variables: variables de estado y variables locales. Las funciones se utilizan para realizar tareas y pueden tener parámetros de entrada y valores de retorno. Los modificadores se utilizan para modificar el comportamiento de una función y mejorar la legibilidad y la facilidad de gestión del código. El contrato SimpleToken permite a los usuarios transferir tokens y verificar saldos de tokens. El contrato de SimpleToken muestra el uso de variables de estado, una función constructora y funciones como transfer y balanceOf. El contrato VotingSystem permite a los usuarios votar por candidatos y hacer un seguimiento de los recuentos de votos. El contrato VotingSystem muestra el uso de mapeos, matrices y funciones como voteForCandidate, totalVotesFor y validCandidate.
Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.