Instalar un nodo testnet de ethereum rinkeby

¿Que es Ethereum?

Es una plataforma escrita en software libre, se puede comparar con el Bitcoin ya que tiene su propia Blockchain pero no es como la mayoría de las criptodivisas existentes, ya que no es solamente una red para reflejar las transacciones de valor monetario, sino que es una evolución de la web denominada Web 3.0 y esta red nos permite la creación de contratos inteligentes usando un lenguaje de programación “Solidity” y una maquina virtual Ethereum Virtual Machine “EVM”. Por ser de software libre cualquier programador puede crear y publicar aplicaciones distribuidas que ejecuten contratos inteligentes.

Ethereum usa como divisa interna el Ether esta criptomoneda descentralizada sirve para ejecutar los contratos inteligentes dentro de la red.

Estos contratos de código abierto pueden ser usados para ejecutar de forma segura una amplia variedad de servicios, entre los que se incluyen: sistemas de votación, intercambios financieros, propiedad intelectual y organizaciones descentralizadas autónomas etc.

En la pagina oficial https://www.ethereum.org se puede ampliar un poco mas sobre el tema.

Tambien puedes descargar los papers oficiales:

White Paper

Yellow Paper

Para instalar el nodo voy a usar:

  • Linux Debian 8
  • Go
  • CLI Geth – Go Ethereum
  • NodeJS

Primero vamos a Instalar nodejs

Necesitamos instalar el compilado JavaScript Solidity.

Ahora comprobamos que este correctamente instalado:

En debian el binario node se llama nodejs para resolver este conflicto podemos crear un enlace simbólico.

Instalemos ahora la ultima versión de go

Voy a seguir los pasos de la documentación de go-ethereum

Comprobamos que se ha instalado

Ahora si podemos instalar el go-ethereum

Para instalarlo me voy a descargar la ultima versión desde Github, al momento de escribir este post la ultima versión de Geth v1.6.5

Vamos a instalar algunos paquetes necesarios:

Luego de descargar la ultima versión de Geth, la descomprimimos y la colocamos en la carpeta destino:

Ahora vamos a compilar,


Voy a crear un enlace simbólico para poder actualizar sin perder las configuraciones que voy a hacer luego.


Podemos agregar el comando geth a nuestro path para poder utilizarlo de una forma muy cómoda

Podemos iniciar geth con una red testnet privada y minar nuestras propias monedas de prueba, pero en nuestro caso vamos a usar unas de las redes testnet para hacer pruebas del mundo real.

Actualmente existen tres redes Testnet de Ethereum

En nuestro caso vamos a usar RINKEBY ya que da soporte a geth tambien esta ROPSTEN que soporta Geth pero es casi imposible conseguir monedas de prueba.

En http://testnet.etherscan.io/ podemos ver las redes disponibles

  1. ROPSTEN (Revived) – Proof Of Work
  2. KOVAN – Proof Of Authority (Parity only)
  3. RINKEBY – Clique Consensus (Geth only)

Vamos a configurar la red testnet rinkeby nos dirigimos a su pagina y en la opción de Connect Your Self y vemos la instrucciones para configurar un Light node

Vamos a descargar el fichero rinkeby.json

He iniciamos por primera vez nuestro geth con el comando

Dejamos que se sincronice, esto puede demorar un poco por lo que vamos a seguir nuestra configuración y dejar que haga su trabajo.

Configurar el arranque automático para después de cada reinicio del sistema operativo:

Creamos la carpeta daemon-geth dentro del directorio /etc/service

Ahora vamos a crear el fichero run

Este es el contenido del fichero run

Tenga en cuenta los siguientes puntos para que ser cambiados en su instalación:

  • El usuario que estoy usando es appuser
  • Estoy redirigiendo los logs a la carpeta /opt/apps/data/logs/geth.log (Esta carpeta debe existir)
  • El fichero de socket IPC lo estoy generando en la carpeta /opt/apps/geth.ipc esto es para usarlo más adelante con otros usuarios dándole los permisos necesarios
  • Mi nodo se llama AraguaneyBitsTestnet, por favor personalice correctamente el suyo.

Para iniciar el servicio podemos usar el siguiente comando:

Y para bajarlo


Mi Network Stats de Rinkeby

Mi Network Stats de Rinkeby

Ya vemos nuestro nodo en ejecución, y ahora que?

Vamos a crear una cuenta o wallet para tener nuestras primeras monedas y comenzar a hacer pruebas.

Primero debemos entrar en la consola de geth

En la documentación oficial podemos conseguir más comandos de la consola eth

y creamos una cuenta:

Ahora podemos ver la cuenta con el comando

y su saldo


Ahora vamos a volver a la pagina de Rinkeby buscamos la opción de Crypto faucet,

Faucet Rinkeby

Faucet Rinkeby

Para pode usar este Grifo es necesario crearnos un Gist, es muy facil de crear.

Mi rinkeby testnet wallet

Mi rinkeby testnet wallet

Luego copiamos el URL de nuestro Gist y pedimos las monedas que necesitemos, en mi caso he pedido 3 ether, podemos usar etherescan.io para verificar la transacción.

Mis primeros Ether testnet Rinkeby

Mis primeros Ether testnet Rinkeby

También podemos consultar el saldo con el comando.

O también podemos usar el Api JSON RPC

Los parámetros que he usado es la dirección de la billetera y el Id = 4 que corresponde a Rinkeby

Puedes encontrar mas información del API en la Wiki oficial  https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getbalance

Proyecto Walleth

 Si tenemos android  podemos bajar una app del play store llamada Walleth, actualmente esta apuntando a esta testnet de rinkeby.
https://play.google.com/store/apps/details?id=org.walleth&hl=es
Tenemos disponible el código fuente en https://github.com/walleth

Ahora vamos a enviar unos ether al monedero android desde la consola geth:

Hemos enviado ether desde la consola, es una maravilla ahora podemos chequear la transacción en el etherscan

https://rinkeby.etherscan.io/address/0x1cb34526844ea26926af2a58cbddecd86a79a11d

y chequeamos nuestro walleth de android

Walleth Transaction detail

Walleth Transaction detail

Walleth Transaction principal

Walleth Transaction principal

Walleth Transaction menu

Walleth Transaction menu

 

Mist el monedero oficial

Para finalizar y si no eres amante de la consola, puedes instalar el Monedero Mist que viene con Geth, no voy a profundizar en este moneder ya que lo vamos a ver en otro post cuando trabajemos con contratos inteligentes, de momento quiero que sepan que si tienen linux es muy fácil de instalar

Vamos a la pagina de Mist y nos descargamos la ultima versión

Ahora que lo tenemos instalado vamos a configurar el mist contra nuestro node Rinkeby

Ya tenemos unas herramientas útiles para comenzar con ethereum, tenemos que desarrollar contratos inteligentes y hacer muchas otras pruebas pero lo veremos en otra entrada.

 

 

 

 

 

Comments are closed.