Holaaa a todos!!!
Otra vez soy yo Rodrigo G.T. esta vez les traigo un nuevo tema sobre Blockchain, esta vez te enseñare a crear una blockchain en nuestra propia computadora.
Manos a la obra!!.
Instalar GETH
Para esta parte debemos acudir a la pagina Geth y para ello debemos descargar el instalador y seleccionar la opción Development tools.
Y siguiente, siguiente y aceptar.
Una vez instalado, podemos probar si se realizo correctamente la instalación ejecutando en nuestro cmd el siguiente comando
geth version
y debe aparecer algo así
También debemos de saber si tenemos instalado correctamente Puppeth solo escribimos en nuestra linea de comandos puppeth
Una vez que tengamos instalado estas cosas correctamente vamos a comenzar con nuestra instalación.
Acceder a la carpeta C://Users/[TU_USUARIO]/APPDATA/Local/Ethereum/GETH
NOTA: Si no aparece la carpeta Ethereum ejecute el comando geth en el cmd
geth
Si todo esta bien accedemos a nuestra linea de comandos y ejecutamos el siguiente comando
cd Appdata/local/ethereum/geth
Una vez que estés ubicado en esta ruta creamos una nueva carpeta donde guardaremos nuestra red local, por lo tanto debes crearla y posicionarnos en esa carpeta. Para ello necesitamos ejecutar el siguiente comando.
mkdir AQUI_PONES_EL_NOMBRE_DE_LA_RED && cd AQUI_PONES_EL_NOMBRE_DE_LA_RED
Ejemplo:
mkdir miredlocal && cd miredlocal
El comando anterior crea la carpeta y nos posiciona en ella.
Una vez dentro, vamos a crear tres cuentas para hacer pruebas de nuestra blockchain y eso lo hacemos con el siguiente comando.
El siguiente comando lo vamos a ejecutar 3 veces y debemos guardar nuestras claves privadas y publicas que nos genere ya que las ocuparemos mas adelante.
geth --datadir . account new
Cuando ejecutemos el comando anterior nos pedirá una contraseña
Recuerda guardar las claves publicas y las secretas.
Una vez que tengamos nuestras 3 claves publicas y privadas, continuemos.
Ahora ejecutamos puppeth en nuestra linea de comandos.
puppeth
Dentro de puppeth, debes asignar un nombre a nuestra red (No utilizar espacios, guiones ni mayúsculas).
En este ejemplo le pongo el nombre miredlocal
Después nos preguntará que queremos hacer y debemos seleccionar la opción 2 que es configurar un nodo génesis.
Después nos preguntara si queremos crear un nuevo nodo génesis o importar uno existente, en esta opción seleccionamos la opción 1 (Create new genesis from scratch).
La siguiente pregunta nos preguntara que tipo de consenso usaremos debemos seleccionar la 2 (2. Clique - proof-of-authority)
La siguiente opción cada cuantos segundos crearemos un nuevo bloque, en este caso le pongo 16 segundos, puedes poner el número que quieras pero te recomiendo un número mayor a 15 para no generar errores.
Después nos pedirá que le indiquemos la cuenta sello, por lo tanto, de las 3 cuentas que creamos seleccionamos SOLO UNA y pegamos la clave primaria sin poner 0x y presionamos enter dos veces.
Después asignamos cuentas para prefondear y pegamos cada una de las dos claves primarias de las otras dos cuentas. tienen que ser diferentes a la clave sello.
Después nos preguntara si deseamos continuar y escribimos yes
Nos preguntar que especifiquemos una id de la red/cadena.
aquí solo damos enter
Ahora ya que terminamos ese paso nos volverá a preguntar que deseamos hacer entonces ahora volvemos a seleccionar la opción 2
Y ahora nos preguntara que queremos hacer en este caso seleccionaremos la opcion 2 (Exportar genesis configurations) y le damos enter, y presionamos ctrl + c
LISTOOO!!
Ahora inicializamos un bloque génesis.
geth --datadir . init NOMBRE_QUE_LE_PUSISTE_A_TU_RED.json
Ejemplo:
geth --datadir . init miredlocal.json
Por ultimo, desbloqueamos el bloque y comenzamos a minar recuerda que se ejecuta cada 16 seg o el tiempo que decidiste poner.
ejecutamos el siguiente comando geth --nodiscover --datadir . --unlock 0x{Cuenta selladora} --mine
la cuenta selladora es la clave primaria que es la que seleccionamos para nuestro bloque génesis y nos pedirá la contraseña de nuestra clave.
Ejemplo:
y listo ya tienes tu red local y comenzando a minar.
Para poder conectarnos a esta red debemos buscar en el código que se genera al comenzar a minar la propiedad url en mi caso es \.\pipe\geth.ipc
Ahora dejemos que este minando y nos conectamos en otra consola de comandos(cmd) y ejecutamos el comando geth attach [la url]
geth attach \\.\pipe\geth.ipc
Si te aparece el siguiente contenido despues de ejecutar el comando, significa que tu blockchain esta funcionando correctamente
FELICIADADES!!! ya tienes una blockchain local.
Espera mis siguientes posts para aprender ha transferir ether entre nuestras cuentas locales y ver nuestro balance.
Top comments (2)
Si puedes responder rápido sería mejor.
Cómo lo conecto a metamask??