Cómo crear un contrato inteligente en Ethereum con Solidity

1 lug 2023 1 min di lettura
Cómo crear un contrato inteligente en Ethereum con Solidity
Indice dei contenuti

Introducción

Este tutorial lo guiará a través del proceso de creación de un contrato inteligente de Ethereum simple usando Solidity, el lenguaje de programación para escribir contratos inteligentes de Ethereum.

requisitos previos

Para seguir este tutorial, necesitarás:

  • Node.js y npm instalados en su sistema
  • Truffle Suite, un entorno de desarrollo, marco de prueba y canalización de activos para Ethereum
  • Ganache, un simulador personal de blockchain para Ethereum

Puede instalar Truffle y Ganache con el comando npm:

npm install -g truffle
npm install -g ganache-cli

Creación de proyectos

Comencemos creando un nuevo directorio para nuestro proyecto e inicialicemos un nuevo proyecto Truffle.

mkdir ethereum-contract
cd ethereum-contract
truffle init

Escribe el contrato inteligente

Vamos a crear un nuevo archivo llamado SimpleStorage.sol en el directorio contracts/ y agregar el siguiente código:

//SPDX-License-Identifier: MIT
 pragma solidity ^0.8.0;

 contract SimpleStorage {
 uint public data;

 function set(uint x) public {
 data = x;
 }

 function get() public view returns (uint) {
 return data;
 }
 }

Este es un contrato muy simple que almacena un número entero y proporciona dos funciones, set y get, para cambiar y obtener el valor.

Crear el archivo de migración

Para implementar el contrato en la cadena de bloques, deberá crear un archivo de migración. Cree un nuevo archivo llamado 2_deploy_contracts.js en el migrations/ y agregue el siguiente código:

const SimpleStorage = artifacts.require("SimpleStorage");

 module.exports = function (deployer) {
 deployer.deploy(SimpleStorage);
 };

Prueba el contrato

Antes de implementar el contrato, deberíamos escribir algunas pruebas del mismo. Cree un nuevo archivo llamado simpleStorage.js en el directorio test/ y agregue el siguiente código:

const SimpleStorage = artifacts.require('SimpleStorage');

 contract('SimpleStorage', () => {
 it('should set the value of data variable', async () => {
 const simpleStorage = await SimpleStorage.deployed();
 await simpleStorage.set(10);
 const result = await simpleStorage.get();
 assert(result.toNumber() === 10);
 });
 });

Ejecute las pruebas con el comando:

truffle test

Distribuir el contrato

Finalmente, distribuimos el contrato en nuestra cadena de bloques local usando Ganache. Ejecute el comando:

ganache-cli

En otra terminal, ejecute el comando de migración:

truffle migrate

Conclusión

¡Felicidades! Acaba de escribir e implementar su primer contrato inteligente en Ethereum con Solidity.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.