Como minar Ethereum y no morir en el intento – windows 7 –

Hoy vamos a hablar de un proyecto que llevo siguiendo desde hace meses, y que recién empiezo a darle caña.  Se trata de “Ethereum, una plataforma web que hace posible que cualquier desarrollador cree y publique aplicaciones distribuidas de próxima generación. Ofrece un lenguaje de programación Turing completo que sigue la metodología de diseño por contrato para crear smart contracts.

Ethereum usa Ether, la criptomoneda descentralizada subyacente al mismo que sirve para ejecutar los contratos del mismo. A este respecto, Ethereum no es como la mayoría de las criptomonedas existentes, ya que no es solamente una red para reflejar las transacciones de valor monetario, sino que es una red para la alimentación de los contratos basados en Ethereum. 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, plataformas de crowdfunding, propiedad intelectual y organizaciones descentralizadas autónomas.” (fin de la wikicita)

Como vemos, hay una diferencia importante con respecto al resto de criptomonedas, y que la hace sobresalir, y es que Ether tiene un ámbito de aplicación propio, y es la creación de contratos en la red ethereum. Aparte, posee las características comunes de otras criptomonedas como es la cadena de bloques, y se puede comerciar en cualquier casa de cambio que trabaje con altcoins. Y por supuesto, se puede minar, siendo a día de hoy la inversión más atractiva para usuarios domésticos con tarjetas gráficas potentes. Se trata pues, de minería GPU. También se puede minar por CPU, pero es tan ineficiente que a no ser que estemos en una testnet no vamos a querer saber nada de minar por CPU.

Consideraciones previas a la instalación:

  • La primera edición pública de ethereum tiene como nombre clave frontier: esta metáfora sugiere que al usarlo estamos cruzando una línea y accediendo a un sitio nuevo, lleno de grandes oportunidades, pero también de grandes peligros. Ethereum es inseguro (no es del todo cierto, ethereum es muy seguro, lo que pasa es que es una tecnología muy nueva todavía y no se sabe por donde pueden venir los tiros ….) por tanto no debería instalarse en nuestro escritorio diario, sinó tener una máquina dedicada a ello  (esto serían buenas prácticas, los meros mortales instalaremos ethereum en nuestro pc…).
  • La biblia de ethereum frontier está en https://ethereum.gitbooks.io/frontier-guide/content/, y conviene tenerla en favoritos 😉
  • En este tutorial vamos a instalar un nodo ethereum (donde tendremos nuestra cartera -wallet-)y la aplicación de minería. Además, vamos a apuntarnos a un pool de minería ether y empezar a minar en él. Como estamos en windows y somos novatos, vamos a utilizar las herramientas gráficas disponibles, pero igual podríamos hacerlo en linux o mac.
  • Esta guía se va a dividir en tres partes, en primer lugar se verán las diferentes implementaciones de ethereum frontier, lo que nos ayudará a entender un poco mejor el sistema. A continuación instalaremos una cartera gui llamada Mist, y por último instalaremos el minero del proyecto Umbrella. Se puede hacer de muchas otras formas, pero si el post se llama ‘como minar ethereum y no morir en el intento, es por algo’ :-p

1.Implementaciones de ethereum frontier

Por razones de seguridad se crearon tres implementaciones independientes para Etereum. Los clientes tienen una funcionalidad casi idéntica por lo que la que el desarrollador elija es una elección personal según la plataforma, el lenguaje y lo que es la utilización planificada de la red.

Estas tres implementaciones responden a los nombres de Eth(C++), Geth(Go), y Pyethapp (Python). La recomendada para minería GPU es Eth, así que allí vamos.

Eth

La aplicación C ++ se llama simplemente Eth. Es la más rápida y es la base para el futuro desarrollo del IDE. Viene con otras herramientas que no entraremos en detalle ahora pues de momento no las necesitamos. Como comentamos antes, es la adecuada para minería GPU, para lo que usaremos la herramienta ethminer

Geth
La aplicación se llama Go Geth. Geth se centra en la seguridad, y será la base del desarrollo para las aplicaciones que el usuario final utilice en en la nube desde el navegador.
Python
La aplicación Python se llama Pyethapp. Ni es tan rápida como Eth ni tan segura como Geth, pero es la que ofrece un código más ‘claro’, así que es adecuada sobretodo para desarrolladores que quieren aprender como funciona ethereum.

2.Instalación de cartera Mist

Bien, pues ahora que hemos visto un poco por encima las diferentes implementaciones de ethereum, vamos a instalar una app con entorno gráfico que aunque esté en beta (como todo ethereum :-p), viene muy bien. Podemos descargarla desde el proyecto oficial de ethereum en github, hay versión para linux, macos y windows, aunque las dos primeras no las he probado así que no sabría decir.

https://github.com/ethereum/mist/releases/

Descargamos la versión adecuada a nuestro sistema operativo, descomprimimos y ejecutamos al archivo principal (en windows es Ethereum-Wallet.exe). Enseguida veremos como se inicia el nodo y se pone a sincronizar con la cadena de bloques. Tened un poco de paciencia aquí, tiene que descargarse la blockchain entera, casi 1.000.000 de bloques actualmente.

gui

Por cierto, que para consultar la cadena de bloques tenemos https://www.etherchain.org y

Al rato veremos que termina y por fin se abre la cartera

IMPORTANTE: el directorio donde se guarda la cadena de bloques y los datos relativos a nuestra cartera es C:\Users\USUARIO\AppData\Roaming\Ethereum. La app Ethereum Wallet podemos ejecutarla desde donde sea, no necesita instalación ni tiene dependencias raras.

Pues bien, una vez la app se sincronice con la red, se abrirá el frontal con el que podremos interactuar. Es bastante intuitivo, y vemos que lo primero que hay que hacer es crear una cuenta:

1

Nos pedirá que le pongamos un password (asegúrate de no olvidarlo), contraseña que en el futuro nos va a pedir para cada movimiento que hagamos.  Una vez creada la dirección base, vemos que ya tenemos la opción de crear contratos. Nótese que las direcciones ethereum empiezan en 0X,

2

¿Contratos? ¿Qué es eso de los contratos y por qué los necesito?

En realidad no los necesitas para minar, con tu dirección base te basta y te sobra, pero es interesante hacerse uno pues las cuentas no permiten listado de transacciones (what?), y los contratos sí. Desgraciadamente, a estas alturas no tenemos ni medio ether, y crear contratos cuesta ether. Así que vamos a empezar a minar con nuestra cuenta base, y otro día haremos una incursión más detallada sobre los contratos.  NOTA: tras un pequeño tiempo minando, me he dado cuenta que algunos pools tienen problemas para realizar los pagos a carteras contrato. Lo mismo pasa con algunos exchanges. Así que os sugiero leáis bien la documentación al respecto en vuestros pools o casas de cambio, si vais a usar carteras de contrato.

 

3.Instalación de cliente de minería GPU

El algoritmo de minado está considerado memory-hard, así que necesitas 1-2GB de RAM en cada GPU.

Está implementado en OpenCL, así que las tarjetas ATI AMD  son las más rápidas para su equivalente en NVIDIA. Dicho de otro, si se va a invertir dinero en ello es mejor decantarse por tarjetas AMD.

En un caso u otro, será necesario instalar el driver gráfico pertinente y el kit de desarrollo openCL

Para AMD

Controlador gráfico

AMD SDK openCL

Para NVIDIA

Controlador gráfico

NVIDIA CUDA openCL

También necesitamos los paquetes redistribuibles de Visual C++ para Visual Studio 2013

https://www.microsoft.com/es-ES/download/details.aspx?id=40784

Ahora vamos a descargar e instalar una suite que incluye todas las aplicaciones que necesitamos (y más).

https://github.com/ethereum/webthree-umbrella/releases

Elegimos la instalación por defecto con todos los componentes, y al terminar vemos que ha creado una entrada en el menú de inicio, con varias apps de la suite, y que el programa reside en C:\Program Files\Ethereum\ . Con un vistazo a ese directorio vemos todas las apps que trae, no sólo las gráficas. La que nos interesa es ethminer. Confieso que a día de hoy las herramientas gráficas en la suite de umbrella no me han dado buenos resultados (cuelgues en el sistema o de las aplicaciones), y  que mientras escribo este artículo ha salido una nueva release, por tanto yo voy a contar una manera de empezar la minería sin más dilación.

Este es buen momento para cerrar otras aplicaciones que tengáis abierta o bajar el overclocking de la tarjeta gráfica, ya que vamos a probar su rendimiento y nos puede cascar el sistema.

Abrimos una terminal de administrador, nos situamos en el directorio de Ethereum y ejecutamos ethminer.exe -G -M. Con este comando estamos ejecutando una prueba de rendimiento (-M) de la gráfica (-G).

benchmark_etherminer

Bien, en este ejemplo hay 19.4Mhs (una Radeon R9 380) , podéis ver lo que rendirá más o menos aquí . De todas formas recordad que el precio puede ser volátil, e igual que sube, baja.

En fin, hecha la prueba de rendimiento vamos a crear un archivo llamado etherminer.bat, en ese mismo directorio, que usaremos para conectarnos a un pool y empezar a minar.

Nos vamos a conectar a ethereumpool.co, que va bien y paga dos veces al día. Ojo con los pools de ethereum, no hay muchos y algunos han colapsado. Haz tu propia investigación al respecto o utiliza el que te propongo :-p  ( Editado:  LEE LOS COMENTARIOS PARA INFORMACIÓN ÚTIL SOBRE POOLS DE ETHEREUM)

Necesitamos abrir la cartera de Mist que instalamos antes, y copiamos nuestro id de cuenta o contrato (dónde queremos recibir los pagos, si tienes otra cartera, pues eso…). Ya con todos estos datos editamos el archivo .bat que recién hemos creado, de la siguiente forma:

ethminer -G -F http:[email protected]@OPTIONAL_NOMBRE_DEL_RIG

Sustituye por tus valores, por ejemplo:

ethminer -G -F http:[email protected][email protected]

Guarda, cierra, y ejecútalo 🙂

Al poco verás como encuentra su primera solución, y la envía al pool (que la acepta, o no, pero lo normal es que sí)

accepted_ether

Por último, para consultar las estadísticas de tu minero así como los pagos, ves a https://ethereumpool.co/stats/miner/  y pega tu dirección.

Espero que hayáis conseguido poner a trabajar vuestras gráficas con esta guía, si por el contrario habéis tenido algún problema en el proceso, sentiros libres de comentarlo y haré lo posible por ayudaros.

Hacer correr ethereum no tiene nada de trivial, es mucho más que una criptomoneda por tanto introduce muchos conceptos nuevos que pueden ser confusos al principio (a mí me ha costado un poco…), y por eso hice esta guía, así que espero es haya sido de ayuda.

Suerte y luz barata amigos mineros 🙂

NOTA (9 Mayo 2016): actualmente usar ethminer sin más empieza a quedarse obsoleto, así que es muy aconsejable que sigáis esta minientrada sobre cómo minar usando el protocolo Stratum, o al menos que le echéis un vistazo para saber de qué va eso de GetWork y Stratum.

NOTA: ¿Necesitas actualizar tu versión de Mist ya que tienes problemas para sincronizar con la red? Echa un vistazo a esta minientrada

166 Comments:

  1. Hola que tal, yo ya ando en la mineria de etherium tengo 3 390 y una 7950 de momento las tengo en 2 computadoras separadas, de momento estoy minando en miner gate la aplicacion es super facil. pero la verdad siento que las ganancias no son lo suficientemente brutas como lo dice en la calculadora de etherium tengo un promedio de minado de 93 megahashes pero la vdd es que a veces me da .2 de fraccion de ether diario siendo que deberia ser mucho mas. me gustaria intentar de otra forma. pienso comprar los risers para ponerlas a fuera del mueble, ya que ya tengo 2 de esta forma y bajan muchisimo su temperatura que estando fisicamente en la placa base. 2 preguntas como mino en etherminer, que comandos y que se nescesita paso x paso, en minergate ya hay un wallet y ese walet me manda a mi cuenta en bitso, quiero saber como hacer eso en otro y el ejemplo si se puediera hasta con video mejor. ya que soy de mexico. y el otro es si se sabe si alguien vende cables risers en guadalajara. jal. agradeceria estas 2 respuestas en la brevedad….

Deja un comentario

Tu dirección de correo electrónico no será publicada.

1 + 1 =