Contrato inteligente de Ethereum: ¿cómo ejecutar un contrato inteligente?



En este tutorial de contrato inteligente de Ethereum, aprenderá a crear, implementar y ejecutar un contrato inteligente utilizando Truffle y la red privada de Ethereum.

La razón principal por la que la tecnología Blockchain se coloca entre las mejores tecnologías es su naturaleza descentralizada. Si bien el objetivo principal de Blockchain era mantener registros de transacciones sin una Autoridad Central, para automatizar esto, Contratos inteligentes fueron introducidos. Pero que despues ? En este tutorial de Ethereum Smart Contract, veremos cómo usar Ethereum de trufa y Red privada de Ethereum para ejecutar un contrato inteligente.

¿Interesado en el desarrollo de Ethereum? Mira este Live .





Veremos los siguientes temas en este tutorial de contrato inteligente de Ethereum:

  1. Caso de uso: contratos inteligentes en el proceso de seguros
  2. Beneficios de los contratos inteligentes
  3. Instalación de prerrequisitos
  4. Configuración de Genesis Block
  5. Ejecución de la red privada de Ethereum
  6. Creación de una cuenta de Ethereum
  7. Creación de un contrato inteligente de Ethereum
  8. Ejecución de contrato inteligente de Ethereum

Caso de uso: contratos inteligentes en el proceso de seguros

'Sin autoridad central' es lo que sigue Blockchain y esa es la razón por la que se introdujeron los contratos inteligentes. Pero, ¿se ha preguntado alguna vez cómo se puede utilizar un contrato inteligente? Bueno, en esta sección de Contrato inteligente de Ethereum, explicaré un caso de uso del Contrato inteligente en el proceso de seguro.



Consideremos un ejemplo de seguro por retraso de vuelo. Suponga que desea tomar un vuelo desde la fuente A hasta el destino C pero no tiene un vuelo directo. Entonces, decide tomar un vuelo de conexión (a través de B). Ahora, su ruta será de A a B y luego de B a C, donde B es el aeropuerto en el que cambiará los vuelos. Desafortunadamente, no tiene mucho espacio de tiempo entre los vuelos de A a B y de B a C. Entonces, si por casualidad, el vuelo de A a B se retrasa, perderá el vuelo de B a C. Date cuenta de esto y solo para evitar grandes pérdidas, contratas un seguro de retraso de vuelo.

ordenar lista c ++

Seguro de retraso de vuelo - Edureka

Ahora, si su vuelo de A a B se retrasa (lo que hará que pierda el vuelo de B a C), se le pagará el monto del seguro. La forma normal en que esto funciona es, si su vuelo se retrasa, usted reclama el seguro. Luego, alguna persona verificará y aprobará el seguro y, finalmente, obtendrá el monto de su seguro. Pero este es un proceso bastante largo.



¿Cómo se pueden utilizar los contratos inteligentes para mejorar el proceso de seguros?

Cuando se trata de transacciones financieras, y especialmente cuando obtiene dinero, 'cuanto más rápido, mejor', ¿no es así? Entonces, veamos cómo los contratos inteligentes pueden acelerar el proceso de seguro. Los Smart Contracts son contratos digitales que se ejecutan automáticamente cuando se cumplen ciertas condiciones. Se puede escribir un contrato inteligente para pagar el monto del seguro a las personas que han optado por el seguro de retraso de vuelo si el vuelo se retrasa. Por lo tanto, cuando el vuelo se retrasa y el sistema registra este retraso, el seguro se paga de inmediato.

¡Hola! monto del seguro pagado en pocos segundos. Así es como los contratos inteligentes simples y rápidos hacen que suceda un proceso.

Beneficios de los contratos inteligentes

Ha visto en el ejemplo anterior cómo Smart Contract puede acelerar los procesos financieros. Además de las transacciones rápidas, los contratos inteligentes tienen algunos beneficios más. Aquí, enumero algunos otros beneficios de usar un contrato inteligente:

  • Automático: Todos los pasos en proceso ocurren automáticamente con Smart Contracts
  • Sin intermediarios: Cuando usa Smart Contracts, no necesita un intermediario para hacer el trabajo, ya que todo será manejado por Smart Contracts
  • Económico: El uso de Smart Contracts le permitirá ahorrar dinero en las tarifas de transacción que cobran los bancos y las tarifas de servicio que cobran los intermediarios (si corresponde)

Ahora que sabemos cómo se pueden usar los contratos inteligentes para hacer del mundo un lugar más rápido, vayamos a la parte práctica de este tutorial de contratos inteligentes de Ethereum.

Instalación de prerrequisitos

Para este tutorial de Ethereum Smart Contract, necesitaremos 5 aplicaciones importantes:

  • NodeJS
  • NPM
  • Ethereum
  • Trufa
  • Compilador de solidez

Instalación de NodeJS

NodeJS es un marco de JavaScript que se utiliza para crear aplicaciones de servidor. Como usamos una red privada, NodeJS facilitará la construcción de la aplicación de red.

Para instalar Nodejs, ejecute el siguiente comando en su terminal:

$ sudo apt-get install nodejs

Instalación de NPM

NPM son las siglas de Node Package Manager y se utiliza para ejecutar aplicaciones Nodejs.

Para instalar NPM, ejecute el siguiente comando en su terminal:

$ sudo apt-get install npm

Instalación de Ethereum

Ethereum es una plataforma informática distribuida basada en blockchain pública y de código abierto para la creación de aplicaciones descentralizadas.

Para instalar Ethereum, ejecute el siguiente comando en su terminal:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Instalando Truffle

Truffle es un entorno de desarrollo, marco de prueba y canalización de activos para Ethereum Blokchains.

Para instalar Truffle, ejecute el siguiente comando en su terminal:

$ npm instalar -g trufa

Instalación del compilador de solidez

Solidity es un lenguaje de programación utilizado para escribir Smart Contracts. Para ejecutar contratos inteligentes en nuestro sistema, tenemos que instalar Solidity Compiler.

Para instalar Solidity Compiler, ejecute el siguiente comando en su terminal:

$ Sudo NPM install -g surco

Configuración de Genesis Block

Un Genesis Block es el punto de inicio de un Blockchain y necesitamos un archivo de génesis para iniciar el Blockchain. En esta sección de Ethereum Smart Contract, escribiremos un archivo Genesis y lo configuraremos para permitirnos ejecutar Smart Contracts.

Primero creemos un nuevo directorio y luego en ese directorio crearemos el archivo génesis

$ mkdir red-ethereum $ cd red-ethereum $ nano genesis.json

Ahora, ingrese las siguientes líneas en el genesis.json archivo:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'dificultad': '200' 'gasLimit': '99999999999999'}

Guarde esto y salga.

Ejecución de la red privada de Ethereum

En este tutorial de Etheruem Smart Contract, implementaremos un Ethereum Smart Contract en una red privada. Entonces, para iniciar esta red usaremos el siguiente comando:

$ geth --datadir ./dataDir init ./genesis.json

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, miner'

Antes de continuar, permítanme explicar algunos indicadores importantes utilizados en el comando anterior:

datadir: El directorio donde se almacenan los datos relacionados con Blockchain.

rpc: Habilita el servidor HTTP-RPC.

rpcport y rpcaddr se utilizan para configurar el puerto y la dirección de la red respectivamente.

rpcapi: Nos permite interactuar con la red Ethereum utilizando diferentes API.

Conectando Geth a Ethereum Private Blockchain

La consola Geth es la consola desde donde podemos interactuar con Ethereum Private Blockchain. Para conectar Geth a Ethereum Private Blockchain, abra una nueva terminal y ejecute el siguiente comando:

$ geth adjuntar http://127.0.0.1:8543

Ahora, estamos en la consola Geth donde podemos ejecutar comandos para interactuar con Blockchain.

Creación de una cuenta de Ethereum

Para realizar cualquier transacción, necesitamos una cuenta. En esta sección del tutorial de Ethereum Smart Contract, veremos cómo crear una nueva cuenta Ethereum desde la consola Geth.

Siguiendo los pasos hasta ahora, ya estamos en la consola Geth. Para crear una nueva cuenta, ejecute el siguiente comando en la consola Geth:

> personal.newAccount('seedphrase')

Reemplace la 'frase semilla”Con la contraseña que desea establecer para esta cuenta.

Hemos creado una nueva cuenta, pero esta cuenta no tiene éteres.. Nosotros necesitamoséteres para realizar cualquier transacción y conseguir éteresa nuestra cuenta, comenzaremos a extraer éteres. Para comenzar a minar, primero debemos desbloquear la cuenta. Desbloqueemos la cuenta y comencemos a minar.

> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()

A medida que la minería sigue sucediendo, algunoséteresse depositará en esta cuenta.

Nota : Estos éteres son éteres ficticios y no tienen valor en el mundo real.

Para consultar el saldoéteresen la cuenta ejecutaremos el siguiente comando:

> Web3.fromWei (eth.getBalance (eth.coinbase), 'ether')

Cuando ejecute este comando a intervalos regulares, verá que eléteresestán aumentando debido a la minería.

Para detener la minería, ejecute el siguiente comando:

> miner.stop ()

Creación de un contrato inteligente de Ethereum

Creación de proyecto de trufa

Ahora que tenemos nuestra Blockchain privada lista, veremos cómo crear un contrato inteligente Ethereum usando Truffle. Para este tutorial, crearemos un contrato inteligente Ethereum 'Hola mundo' simple.

Para comenzar con esto, primero creemos un nuevo directorio para almacenar el proyecto Truffle. Y luego, en ese directorio, crearemos un nuevo proyecto de Truffle. Abra una nueva terminal y ejecute los siguientes comandos:

$ mkdir trufa $ cd trufa $ trufa init

los trufa init comando creará todos los archivos necesarios requeridos para un proyecto de trufa.

Ahora que tenemos todo para implementar un contrato inteligente Ethereum listo, comencemos a escribir un contrato inteligente 'Hola mundo'.

Redacción de un contrato inteligente 'Hola mundo'

Todos los contratos deben estar escritos en el directorio de “contratos”. Cambiaremos a este directorio y crearemos un contrato con el nombre 'HelloWorld.sol' y agregaremos las siguientes líneas en este archivo:

tutorial de visual studio para principiantes
pragma solidez ^ 0.4.15 contrato HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

¡Eso es todo! Pero este contrato inteligente no se puede ejecutar por sí solo. Tendremos que realizar algunas configuraciones para ello.

Configuración de la migración de trufas

Para migrar nuestro Smart Contract, tendremos que agregar un archivo en el 'Migraciones' directorio en el 'trufa' directorio. En este directorio agregaremos un archivo llamado '2_deploy_contracts.js' con el siguiente contenido en él:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = function (deployer) {deployer.deploy (HelloWorld)}

Guardar y Salir.

Para ejecutar Truffle en nuestra red, necesitamos editar el ' truffle.js 'Archivo en el 'trufa' directorio . Abra este archivo y realice las siguientes entradas:

module.exports = {rpc: {host: 'localhost', puerto: 8543}, redes: {desarrollo: {host: 'localhost', puerto: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000} } }

Nota: Reemplace la 'de' dirección con la dirección de la cuenta que creó en el paso anterior.

Ejecución de contrato inteligente de Ethereum

En esta última sección del tutorial de Ethereum Smart Contract, veremos cómo implementar nuestro Smart Contract 'Hello World' en nuestra Ethereum Private Network.

Compilación e implementación de contratos inteligentes

Antes de que podamos ejecutar nuestro contrato inteligente, primero tenemos que compilarlo e implementarlo en nuestra red privada Ethereum. Haremos esto usando los siguientes comandos:

$ compilación de trufas

Ahora, tenemos que desbloquear nuestra cuenta y comenzar a minar. Regrese a la terminal con la consola Geth y ejecute el siguiente comando:

> personal.unlockAccount (web3.eth.coinbase) > miner.start ()

y luego, vuelve a la terminal que tiene 'trufa' como el directorio de trabajo actual ycorrerel siguiente comando:

$ trufa migrar

Espere a que se complete la implementación.

Ejecución de un contrato inteligente en una cadena de bloques privada de Ethereum

Para ejecutar el Smart Contract “Hello World”, tendremos que entrar en la consola de trufas. Ejecute el siguiente comando para hacer esto:

$ consola de trufa

Ahora estarás en la consola de trufas. Para ejecutar el contrato inteligente, ejecute el siguiente comando:

> var first_contract> HelloWorld.deployed (). luego (función (instancia) {first_contract = instancia})> dApp.message.call ()

¡Felicidades! Ha creado su primer contrato inteligente Ethereum y lo ha ejecutado. Espero que este tutorial de contrato inteligente de Ethereum haya sido informativo y le haya ayudado a comprender cómo ejecutar un contrato inteligente de Ethereum. Ahora, continúe e intente escribir otros contratos inteligentes y ejecutarlos.

Tienes una pregunta para nosotros? Por favor publícalo en y nos pondremos en contacto contigo.

Si desea aprender Blockchain y desarrollar una carrera en Tecnologías Blockchain, consulte nuestro que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación te ayudará a comprender qué es Blockchain de manera exhaustiva y te ayudará a dominar el tema.