Cómo compilar tu propia billetera Devcoin en Ubuntu 18.04 💪 💻 💾

in #busy6 years ago (edited)

Originalmente publicado en inglés dándole clic acá 👈

¡Es una muy buena época para ingresar al maravilloso mundo del Software Libre y las criptomonedas!

Todos los días mucha gente es atraída al mundo de las criptomonedas por diferentes motivos. Algunos quieren curiosear con nuevas tecnologías como el blockchain o talvez quieren algún dinerillo extra para complementar sus ingresos. La verdad no importa la razón, aunque yo sé lo difícil que es comenzar o ver por donde empieza uno. Por ese motivo, para mí Devcoin es una gran puerta hacia este mundo sin tanta dificultad, y es una gran moneda para comenzar a entender y empaparse del conocimiento. Además de que es una inversión bastante interesante para aquellos con un mayor conocimiento sobre esta materia. Para mí, la aproximación al Software Libre es ideal, porque te enseña las herramientas básicas y con paciencia puedes lograr avanzar muchísimo.

Para el presente tutorial, utilizaré el sistema operativo Kubuntu 18.04 LTS como punto de partida para compilar la billetera o monedero, pero cualquier sabor de Ubuntu te funcionará sin ningún problema. ¡Es más, incluso pienso que cualquier distribución basada en Debian puede utilizarse siguiendo estos pasos!

Este tutorial está dirigido a aquellas personas que jamás han compilado algo en su vida. Sin embargo, soy consciente de que esto pueda parecer una tarea titánica para el más novato. Por eso, trataré de hacerlo lo más simple posible mostrándote con fotos y pasos claros y precisos que puedes hacer.

Aquellos que son más avanzados y curtidos en el arte de la compilación, podrían aburrirse un poco, pero es por eso que trataré de destacar los pasos principales, para eliminar aquel ruido que te pueda impedir avanzar. Para vos, usuario avanzado, he incluido una tabla con las instrucciones paso a paso al final de este artículo.

⚠ **Advertencia:** Es muy importante que empieces a compilar el monedero en una instalación nueva, o al menos en un sistema operativo que no hayas actualizado desde una versión anterior. La principal razón es que cada vez que actualizas una distribución terminas arrastrando paquetes rotos o problemas de dependencias que luego te pueden dar dolores horribles de cabeza. Si resulta que esta es tu situación, podrías intentar compilarla dentro de un ambiente controlado como en un programa de virtualización por ejemplo, pero eso sería un tema para otro tutorial.

abstract-3166168_960_720.png

¡Empecemos! 💻

Básicamente necesitaremos tres cosas una vez dentro del sistema operativo: Una terminal o línea de comando, un montón de herramientas (paquetes) que serán instalados desde la línea de comando junto con el código fuente de la billetera devcoin y ¡algún tiempo de sobra!

1- Primero, Abra la terminal, en mi caso usaré Konsole desde el principal menú de programas (vea Fig.01). Tú puedes escoger cualquier software que desees o que venga con tu distribución.


Fig.01 Abriendo la terminal

2- Una vez abierta (Fig.02), necesitarás instalar estos paquetes nuevos (Fig.03):

sudo apt-get install git libdb++-dev libdb-dev libboost-all-dev build-essential libtool pkg-config libssl-dev


Fig.02 ¡Desde aquí ejecutaremos todo!


Fig.03 Las herramientas que necesitamos

Una vez terminada la instalación y que todo se vea pura vida, ¡comenzaremos a bajar el código fuente!

Para el código fuente yo recomiendo utilizar una versión estable. Sin embargo, este mismo proceso puede hacerse con cualquiera de las versiones de prueba y experimentales dentro del repositorio de la billetera de Devcoin.

3- Hay dos maneras de bajarlo. La más simple es hacerlo desde git y la segunda es bajarlo como un archivo comprimido tipo zip. Para hacerlo a través de git usaremos la terminal y escribiremos el siguiente comando:

git clone https://github.com/devcoin/core.git

Si deseas hacerlo por el segundo método, puedes bajar el archivo desde https://github.com/devcoin/core/archive/master.zip y descomprimirlo donde quieras.

Sin embargo, para este tutorial continuaremos como si lo hubiéramos bajado usando git (Fig.04).


Fig.04 Bajando el código fuente...

4- Una vez con el código descargado, entramos al directorio core utilizando el siguiente comando:

cd core/

Allí puedes ver su contenido usando el comando ls donde verás muchos archivos y directorios. Los de color azul son los directorios y los blancos son los archivos.

5- Ahora ejecutemos el siguiente comando:

cd src/

Este comando te llevará al directorio principal donde se encuentra el código fuente, el cual compilará devcoind, el núcleo básico de nuestra nueva billetera (Fig.05).


Fig.05 Primero se entra en el directorio core, luego en src y finalmente se ejecuta el comando ls para ver qué hay dentro


6- Como una forma de asegurarte que el código fuente esté limpio de una compilación previa, deberás ejecutar siempre el siguiente comando:

make -f makefile.unix clean

Usualmente cuando el código fuente está recién descargado, viene sin compilar y limpio, por lo que probablemente te muestre un error. Sin embargo, eso está muy bien (Fig.06). Este es un paso necesario para asegurarte que el código no haya sido compilado antes, entonces si en este punto te muestra un error, ¡es porque está limpio! ¡Viva! 👏 Sin embargo, es muy útil realizar siempre este paso sin importar nada, para que te asegures de que el código se ha preparado correctamente antes de compilarlo, aunque esté recién descargado. Es una práctica recomendable en mi opinión, para que luego no olvides hacerlo si necesitas volver a compilarlo. 😉


Fig.06 Ese error se ve mal, pero no lo es. ¡No te preocupes!

7- Entonces ahora sí, ¡manos a la obra! En la terminal ejecutarás el siguiente comando:

make -f makefile.unix USE_UPNP=-

Muy bien, ahora esto puede tomarte algún tiempo dependiendo de tu computadora o su configuración. Usualmente en una máquina lenta puede tomar unos 30 minutos para compilar, o dos horas en un ambiente virtualizado utilizando esa misma computadora lenta. Ahora, quizá tengas lo último en computadoras con grandes prestaciones y muchos núcleos, por lo que te podría tomar muchísimo menos tiempo el compilar el código, pero para este tutorial,vamos a asumir que el proceso durará al menos unos 30 minutos. (Fig.07)


Fig.07 Es-ta-mos com-pi-lan-do hu-ma-nos...

Una vez terminado, ¡ya está! No verás ningún mensaje, el programa de compilación te regresará a la línea de comando sin problemas! (Fig.08) Si terminara con algún error, es debido a que probablemente haya algún problema de dependencias o necesites algún paquete que no esté instalado correctamente, 😵 pero seamos positivos y esperemos que todo salga bien. ¡Crucemos los dedos! 🤞🤞🤞


Fig.08 El final del proceso de compilado: Nótese que regresa a la línea de comando sin ningún error en la pantalla

8- Para finalizar la compilación de devcoind ejecutaremos lo siguiente en la terminal:

strip devcoind

Ese comando remueve los “símbolos” de los archivos objeto, que en otras palabras no es nada más que deshacerse de cosas innecesarias para el proceso de compilado, bajándole el tamaño al archivo binario final.

¡Ahora a configurar la interfaz gráfica! Sin esto, tendrías que utilizar el monedero desde la línea de comando y no queremos eso, ¿verdad? 🤓

9- Para configurar la interfaz gráfica, necesitaremos instalar más dependencias. Así que ejecutemos el siguiente comando:

sudo apt-get install libqt4-dev qt4-qmake libqt5gui5 libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev libminiupnpc-dev libpng-dev libqrencode-dev

10- Una vez terminado, necesitaremos regresar al directorio core/ y salir del directorio src/. Para hacerlo, solo necesitaremos ejecutar este comando:

cd ..

¡Mucho ojo! ¡Nótese que el espacio entre cd y los dos puntos es necesario!

11- Ahora preparemos al compilador y digámosle que tipo de configuración necesitamos (Fig.09). Para eso, ejecutaremos el siguiente comando:

qmake USE_UPNP=1 USE_DBUS=1 USE_QRCODE=1

Esto te mostrará una serie de símbolos, números y letras como vimos con anterioridad: Luego te regresará velozmente el control de la línea de comando, y por supuesto, ¡eso está genial!


Fig.09 Preparando la interfaz gráfica: Este comando también terminará de forma silenciosa y sin errores, pero quizá con algunas advertencias.

¡Compilemos la interfaz gráfica!

12- Ejecuta el siguiente comando en la terminal:

make

¡Y eso fue todo! (Fig.10) Este proceso terminará mucho más rápido que con devcoind, y una vez terminado ejecuta el comando ls para mostrarte una serie de archivos y directorios tal y como antes, pero ahora verás un archivo de color verde llamado devcoin-qt (Fig.11) Esa es la forma en que el sistema representa en la terminal a los archivos binarios ejecutables.


Fig.10 ¡Compilación exitosa! Mira que regresa a la línea de comando sin errores, una vez terminado el proceso.


Fig.11 Este amiguito verde de aquí es un archivo ejecutable, y podrás abrirlo en tu sistema cada vez que lo corras.

Para correrlo en tu sistema, nada más necesita ejecutar el siguiente comando en tu terminal:

./devcoin-qt

El punto y la barra inclinada (slash) delante del nombre de un archivo ejecutable, le dice a tu sistema que deseas correrlo.

¡Y mira tu hermosa billetera corriendo en tu sistema! (Fig.12) 😎 Para bajar el blockchain de forma completa, dependerá de la velocidad de tu Internet. El tamaño de la cadena es cerca de 2GB por lo que te podría tomar desde 30 minutos hasta 5 horas (Fig.13). La buena noticia es que no necesitas bajarla de una sola vez. Si necesitas hacer otra cosa, puedes cerrar la billetera y continuar después. ¡El monedero la seguirá bajando de donde la dejaste la última vez! Así que no te preocupes por el tiempo, pero revisa que tengas espacio suficiente en tu disco duro solo por si acaso, ya que la billetera deberá mantenerse actualizada y esta crecerá en tamaño con el paso del tiempo (Fig.14).


Fig.12 Ejecuta el comando ./devcoin-qt ¡y mira como corre!


Fig.13 Ten en cuenta que la billetera tomará su tiempo en sincronizarse, así que tu mejor amiga será la paciencia.


Fig.14 La sincronización del monedero está completa. ¡Qué la disfrutes!

abstract-3166168_960_720.png

Bueno espero que les haya gustado este tutorial y lo hayan encontrado útil. Trataré de escribir más en el futuro sobre este y otros temas. Nada más díganme que les gustaría ver y qué cosas podrían mejorarse o ¡lo que quieran!

¡Sigan steemiando! 👋👋👋👋


Guía rápida: Pasos para compilar
1. Abra la terminal
2. Instalación de dependencias para devcoind: sudo apt-get install git libdb++-dev libdb-dev libboost-all-dev build-essential libtool pkg-config libssl-dev
3. Bajar el código: git clone https://github.com/devcoin/core.git
4. Ingresar al directorio del código fuente cd core/src
5. Limpiar antes de comenzar: make -f makefile.unix clean
6. Compilar devcoind: make -f makefile.unix USE_UPNP=-
7. Remover símbolos sin utilizar: strip devcoind
8. Instalación de dependencias para interfaz gráfica sudo apt-get install libqt4-dev qt4-qmake libqt5gui5 libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev libminiupnpc-dev libpng-dev libqrencode-dev
9. Salirse del directorio del código fuente utilizando el comando cd ..
10. Preparar el compilador con la configuración para la interfaz gráfica qmake USE_UPNP=1 USE_DBUS=1 USE_QRCODE=1
11. Ejecutar make
12. ¡Disfrutar!

Este artículo se encuentra licenciado por @cpol bajo la licencia CC-BY-SA 3.0. Originalmente publicado en inglés en (https://steemit.com/busy/@cpol/how-to-compile-your-very-own-devcoin-wallet-in-ubuntu-18-04) el 24 de setiembre de 2018 y traducido por el autor el 27 de setiembre de 2018

Bibliografía:

Ctya. (2018, setiembre 5). Failed compilation from source #2 · Issue #56 · devcoin/core [Github comentarios]. Recuperado el 22 de setiembre de 2018, de (https://github.com/devcoin/core/issues/56#issuecomment-418958715)
GDJ. (2018, febrero 19). Imagen gratis en Pixabay - Resumen, Decorativo, Divisor [Stock images]. Recuperado el 22 de setiembre de 2018, de (https://pixabay.com/en/abstract-decorative-divider-fancy-3166168/)

Sort:  

¡Felicidades! Su post ha sido seleccionado por el Equipo de Curación de @dropahead (dCT)

Excelente tutorial para aquellos novatos no les resultará complicado, demuestra cuidadosamente cada paso, hubiese quedado perfecto con un video haciendo el proceso a realizar. ¿Podrias hablarme acerca de esta Criptomoneda?


@dropahead - Apoyando tu aventura STEEM

Control de calidad del Equipo de Curación dropahead

De acuerdo a nuestros estándares de calidad(1), su publicación ha alcanzado una calificación de 90%.

Well said Gabriel García Marquez: "One learns to write by writing" Keep trying, you will soon achieve excellence!

(1) Estándares de calidad de dropahead Witness:

- Relación gráfica al texto (Elección de imágenes de acuerdo al texto)
- Orden y Coherencia
- Estilo y autenticidad (Toque personal, lógica, complejidad, lo que hace que sea interesante y fácil de entender para el lector)
- Fuente de las imágenes y su licencia de uso

¡Hola @dailyfuenmayor! Perdón por no responderte ayer, pero he estado algo atareado. ¡Con mucho gusto te hablo más acerca de nuestro proyecto!

Esta criptomoneda fue fundada en 2011 con el afán de ayudar a desarrolladores de software a obtener un apoyo económico por sus valiosos aportes. La mecánica que se utiliza aun hoy es que el desarrollador que mostraba interés se les asignaba una cantidad específica de "acciones" o shares en inglés y mensualmente obtenía DVCs o devcoins.

En ese momento habían pocos exchanges pero la gente podía cambiarlas por bitcoins. Ahora estamos en al menos tres diferentes plataformas como es freiexchange.com, altilly.com y the bisq.network, este último un exchange descentralizado.

Conforme fue pasando el tiempo, se fueron agregando otras actividades adicionales y complementarias al desarrollo de software como lo son escritores y artistas. Incluso se fundó un sitio tipo wiki llamado devtome donde la gente escribía por devcoins, muy similar a lo que es el concepto de steemit, pero con tecnología más antigua claro está. Por eso nos encanta colaborar en steemit, porque creemos que devcoin y steemit tienen metas similares en común y creemos en el desarrollo personal de los creadores de contenido y desarrolladores de software. Por cierto, ¡yo mismo empecé dentro del proyecto como escritor!

Más adelante estaremos escribiendo mucho mása fondo sobre estas cosas, pero lo que puedo decirte del presente y futuro de devcoin es que luce prometedor y siempre estamos trabajando por mejorar.

Si quieres saber más aquí te dejo los websites de nuestro proyecto, el de Devcoin en https://devcoin.org/ el de Devtome https://www.devtome.com/doku.php y por supuesto el repositorio git con el código de fuente abierta o Software Libre, como me gusta llamarlo, del mondedero: https://github.com/devcoin/core/

¡Muchas gracias por preguntar y discúlpame nuevamente por la tardanza en responder! Cualquier otra duda o comentario, ¡estoy a tu servicio!

Thanks for the pictures, they helped me a lot. article described easily.

You're welcome! You can go to the article's version in English, if you find it much clearer, it's on the page top! Thank you for commenting!

Congratulations @cpol! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

Award for the number of comments received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

SteemitBoard Ranking update - Steem Power, Followers and Following added

Support SteemitBoard's project! Vote for its witness and get one more award!

For the record, this post was accepted for round 84.

Posts for rounds 85 to 88 still pending.