Red privada de Ethereum: ¡cree su propia cadena de bloques Ethereum!



En este tutorial de Ethereum Private Network, aprenderá cómo crear su propia Ethereum Blockchain y cómo realizar una transacción entre dos cuentas.

En el anterior Tutorial de trufa Ethereum , aprendió sobre Truffle Suite y desarrolló un Ethereum DApp. Para desarrollar una aplicación ethereum compleja, querrá ejecutarla en una red privada para ver cómo funciona antes de implementarla. Entonces, en este tutorial de la red privada de Ethereum, aprenderá cómo crear un Red privada de Ethereum y cómo realizar una transacción entre dos cuentas.

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





Tutorial de red privada de Ethereum

Estos son los temas que cubriré en este tutorial:

¿Qué es la red privada Ethereum?

Una red privada de Ethereum es una cadena de bloques completamente privada que está aislada de la red principal de Ethereum. Ethereum Private Network es creada principalmente por organizaciones para restringir los permisos de lectura de Blockchain. Solo los nodos con los permisos adecuados podrán acceder a esta Blockchain. Los nodos de esta red no están conectados a los nodos de la red principal y su alcance está restringido solo a esta Blockchain privada.



Tutorial privado y público -Ethereum Private Network - Edureka

¿Por qué se utiliza la red privada Ethereum?

Las organizaciones utilizan Ethereum Private Network para almacenar datos privados que no deberían ser visibles para personas ajenas a su organización. Ethereum Private Network también se usa para probar y experimentar Blockchain si alguien no quiere usar las redes públicas de prueba.

Características de la red privada Ethereum

Como se mencionó en la sección anterior, Ethereum Private Network se utiliza con fines de prueba. Pero, ¿por qué alguien se tomaría la molestia de crear una nueva red cuando ya hay disponibles redes públicas de prueba? Bueno, Ethereum Private Network tiene su propio conjunto de características que se enumeran a continuación:



  • Actúa como una base de datos distribuida
  • Blockchain en la red privada de Ethereum puede contener datos privados (porque la red no es pública)
  • El acceso puede basarse en permisos
  • Hacer transacciones puede ser gratis
  • Las cuentas se pueden asignar con éterespor nosotros mismos, lo que ni siquiera requiere la compra de éteres virtuales

Continuando, vayamos a la parte práctica de este tutorial de la red privada de Ethereum.

Instalación de Ethereum en Ubuntu

Para crear una red privada Ethereum, primero debemos tener Ethereum instalado en nuestro sistema. En esta sección del Tutorial de red privada de Ethereum, aprenderá cómo instalar Ethereum en Ubuntu.

Para instalar Ethereum, ejecute los siguientes comandos en una 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

¡Hecho! Esto instalará Ethereum en su sistema.

Comencemos con la creación de la red privada.

Demostración: Creación de una red privada Ethereum y realización de una transacción

En este tutorial de red privada de Ethereum, enviaremos ethersde una cuenta a otra y, por tanto, necesitamos cuentas. Veamos ahora cómo crear cuentas para nuestro Blockchain.

Creación de cuentas para la red privada de Ethereum

Antes de crear nuevas cuentas, creemos un nuevo directorio para nuestro lugar de trabajo. Consulte los siguientes comandos para hacer esto:

$ mkdir privado-ethereum $ cd privado-ethereum

Para realizar una transacción, necesitamos al menos dos cuentas: un receptor y un remitente.

Para crear dos cuentas, ejecute el siguiente comando dos veces:

$ geth --datadir ./datadir cuenta nueva

Introducir el frase de contraseña para cada cuenta cuando se le solicite. ¡No olvide esta contraseña!

Una vez que estos comandos se ejecuten correctamente, se crearán dos cuentas y la dirección de la cuenta se mostrará en la pantalla.

Guarde estas direcciones en algún lugar porque las usaremos más.

Creando Archivo Génesis

Un archivo Genesis contiene las propiedades que definen Blockchain. Un archivo Genesis es el punto de inicio de Blockchain y, por lo tanto, es obligatorio crear el archivo Genesis para crear una Blockchain. Ahora, creemos el Génesisarchivo.

Primero, cree un archivo llamado genesis.json

$ nano genesis.json

Y ahora copie y pegue el siguiente código en ese archivo:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'dificultad': '400', 'gasLimit': ' 2000000 ',' alloc ': {' 82c440bba462220c9b54600e584373014706c177 ': {' balance ':' 100000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {' balance ':' 1200 }0000}

Nota: En el código anterior, reemplace la dirección debajo alloc sección con la dirección de las cuentas que creó en el paso anterior.

Guárdelo y salga.

Permítanme explicar brevemente el contenido del archivo Genesis:

chainId - Este es el número de identificación de la cadena que se utiliza para distinguir entre Blockchains
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - estas propiedades están relacionadas con la bifurcación de cadenas y el control de versiones. No los necesitamos para nuestro tutorial, así que configurémoslos en 0.
dificultad - Este número decide qué tan difíciles serán los bloques para minar. Para las redes privadas, es bueno establecer un número más bajo, ya que le permite extraer bloques rápidamente, lo que resulta en transacciones rápidas.
gasLimit - Este número es la cantidad total de gas que se puede utilizar en cada bloque. No queremos que nuestra red llegue al límite, así que lo hemos establecido tan alto.
alloc - Esta parte se utiliza para asignar ethers a cuentas ya creadas.

El archivo Genesis está listo. Ahora es el momento de iniciar Blockchain.

Creación de instancias del directorio de datos

Antes de iniciar Blockchain, tenemos que instanciar el directorio de datos. El directorio de datos es el directorio donde se almacenan los datos relacionados con Blockchain. Para crear una instancia del directorio de datos, ejecute el siguiente comando:

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

En una instanciación exitosa, debería ver el siguiente resultado:

Con el directorio de datos instanciado, ahora podemos iniciar Blockchain.

Inicio de Ethereum Private Blockchain

Para iniciar Blockchain, ejecute el siguiente comando:

$ geth --datadir ./myDataDir --networkid 1114 consola 2 >> Eth.log

¡Hecho! Su Ethereum Blockchain privada está en funcionamiento.

En el comando anterior, estamos enviando todos los registros en un archivo separado llamado Eth.log . Geth creará automáticamente un nuevo archivo si no se encuentra.

La salida de este código debería verse así:

Ahora, hemos entrado en el geth consola donde podemos ejecutar comandos para nuestra Blockchain.

Lectura de registros

En la sección anterior, mencioné que estamos almacenando los registros en otro archivo. En esta sección, le diré cómo leer los registros de este archivo.

convertir doble a entero en java

Leeremos los registros de una terminal separada, así que primero abramos una nueva terminal. Primero,cambiar al Ethereum privado directorio y luego ejecute el siguiente comando para leer los registros:

$ tail -f Eth.log

Ahora puede ver los registros en la terminal. Estos registros se actualizan dinámicamente cada vez que hay alguna actividad en Blockchain.

Importar cuentas a la red privada

Quizás recuerde que creamos dos cuentas para realizar transacciones. Pero no agregamos estas cuentas a nuestra red. Entonces, en esta sección del tutorial de Ethereum Private Network, te diré cómo importar las cuentas.

Cuando creamos una cuenta, todos los detalles de la cuenta se almacenan en un UTC archivo en el directorio mencionado durante la creación de la cuenta (ruta: ./datadir/keystore ). Para importar las cuentas, necesitamos copiar estos archivos y pegarlos en el almacén de claves directorio en el directorio de datos(camino: ./myDataDir/keystore )

¡Eso es todo! Las cuentas se importan. Simple, ¿no es así? Para verificar la importación, ejecutaremos el siguiente comando en el geth consola.

> eth.accounts

Esto mostrará una lista de todas las cuentas disponibles.

Para consultar el saldo de estas cuentas usaremos el siguiente comando:

> web3.fromWei (eth.getBalance (), 'éter')

Estamos listos con todo lo necesario para realizar una transacción. ¿Por qué esperar? ¡Vamos a hacerlo!

Realizar una transacción

En este tutorial de Ethereum Private Network, enviaremos algunos ethersde una cuenta a otra.

La sintaxis para enviar ethers es la siguiente:

> eth.sendTransaction ({desde: ”dirección”, hasta: ”dirección”, valor: web3.toWei (cantidad, 'ether')})

Enviaremos 1000 ethers de la cuenta 1 a la cuenta 2 usando el siguiente comando:

> eth.sendTransaction ({de: eth.accounts [0], a: eth.accounts [1], valor: web3.toWei (1000, 'ether')})

¿No funcionó? No se preocupe. No funcionó para mí también. Esto se debe a que la cuenta está bloqueada de forma predeterminada y no permite transacciones.

Entonces, primero, necesitamos desbloquear la cuenta del remitente. ¿Recuerda la frase de contraseña que usó al crear la cuenta? Bueno, debes hacerlo, porque tendrás que usar eso para desbloquear la cuenta. Desbloquearemos la cuenta con el siguiente comando:

personal.unlockAccount (eth.accounts [0], '')

Ahora enviaremos éteresexitosamente:

> eth.sendTransaction ({de: eth.accounts [0], a: eth.accounts [1], valor: web3.toWei (1000, 'ether')})

Esto debería devolver un ID de transacción.

¡Hecho! ¡Ha realizado una transacción con éxito!

Para verificar la transacción, verifiquemos el saldo en ambas cuentas.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'éter')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'éter')

¡Hurra! Podemos ver que 1000 éteresfueron enviados de una cuenta a otra!

¡Felicidades! Ha creado una red privada Ethereum y ha realizado una transacción. Espero que este tutorial de Ethereum Private Network haya sido informativo y le haya ayudado a comprender sobre Ethereum Private Network. Ahora, continúe e intente experimentar con la red privada recién creada.

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.