Monero

Como Instalar un nodo de Monero en un Raspberry Pi (PiNodeXMR)

Nodo para Monero

En esta guiá utilizaremos el Software de PiNodeXMR.

Cuando utilizas Monero, automáticamente estás accediendo a privacidad por defecto, a un sistema p2p resistente a la censura, descentralizado y fungible.

Al correr un nodo de Monero no sólo estás apoyando su red, sino también estás aumentando considerablemente tu nivel de privacidad si te conectas a tu propio nodo. Es por ello que en ésta guiá te quiero mostrar una de las posibles formas de montar un nodo de Monero en un Raspberry Pi.

El raspberry Pi tiene un consumo eléctrico muy pequeño. Por una pequeña suma en consumo anual podrás disfrutar de increíbles ventajas como es la privacidad, seguridad y soberanía.

Tabla de contenido

  1. Requisitos para el nodo
  2. Instalación de PiNodeXMR
  3. Descargar el software (Imagen) PinodeXMR
  4. Descargar Etcher
  5. ¿Que características trae esta imagen?
  6. Encendido
  7. Conectarte a tu Raspberry Pi
  8. Configuración del Raspberry Pi
  9. Entramos en System Settings
  10. Hardware y WiFi Settings
  11. Master Login Password Set
  12. Monero RPC Username and Password setup
  13. Configuración de almacenamiento USB (Disco Duro) “USB Storege Setup”
  14. Update Tools
  15. Node Tools
  16. Extra Network Tools
  17. Interfaz Web
PinodeXMR

Requisitos para un nodo de Monero:

  1. Raspberry Pi 4B 4G Funciona también el 3B. (Si estas en España te recomiendo este — LINK)
  2. SSD de 120GB mínimo ya que la Blockchain de Monero está alrededor de los 70GB. Mientas mas espacio tengas mayor duración en el tiempo tendrá soporte tu disco duro. Recuerda que la cadena de bloques de Monero aumenta constantemente.
  3. SD Card (Si compras todo por separado) (8 GB Mínimo Recomendado 16GB)
  4. Power Supply 12V (Si compras todo por separado)
  5. Case HDD USB para el SSD (Puedes usar también un disco duro USB portable, pero se recomienda altamente un SSD)
  6. Cable de red RJ45 si no quieres utilizar la WiFi
  7. Muchas ganas de aprender!!!

Instalación PiNodeXMR

Puedes instalar PiNodeXMR de dos formas. La primera sería descargando una imagen pre-configurada y creada por el desarrollador del proyecto (Dan). Éste proceso requiere que confíes en él y en las modificaciones que pudo haber realizado. La segunda forma sería instalar el sistema operativo habitual, por ejemplo el Raspberry Pi OS (Antiguo raspbian) y sobre éste se instalará PiNodeXMR copilando el software de Monero desde su fuente. Además la descarga se produce directamente desde el ‘Monero Ecosystem‘.

Para instalar PiNodeXMR sobre el sistema Raspberry Pi OS sin necesidad de confiar en su desarrollador, deberás primero descargar e instalar el SO antes mencionado (Raspberry Pi OS). Luego deberás configurarlo para que acepte conexiones SSH. Posteriormente deberás ejecutar el siguiente comando:

wget -O - https://raw.githubusercontent.com/monero-ecosystem/PiNode-XMR/master/Install-PiNode-XMR.sh | bash

Tendrás una imagen como la que te muestro a continuación, deberás seleccionar tu sistema operativo y seguir las instrucciones.

Selección de S.O Raspberry PiNodeXMR

El proceso de instalación será rápido, sin embargo durante la compilación de Monero desde su fuente utilizará muchos recursos de CPU y RAM, con lo cuál se puede demorar un poco.

El proceso de instalación se realiza en dos etapas. La primera instalará el entorno de usuario para el usuario pinodexmr, la seguridad y las opciones de redes. Luego se reiniciará de manera automática una vez completado. La segunda etapa deberás logearte con el usuario pinodexmr y contraseña: PiNodeXMR y la instalación continuará de forma automática.

Descargando la imagen (Mucho mas sencillo todo pero a cambio otorgando confianza en su desarrollador) sigue los siguientes pasos.

Descargar la imagen

Puedes descargar la imagen de PiNodeXMR a través del siguiente LINK. No olvides verificar los hashes

(SHA256: 77A38C7DC1CBD5E41C6F7AD33A0B41B3F9EE71A91911597196CE74BE92114592).

Ésta imagen contiene Monero v0.15.0.5 & Block Explorer v2020-01-07.

Descargar Etcher

El programa Etcher nos permitirá grabar o quemar la imagen anteriormente descarga en nuestra tarjeta de memoria SD. Puedes descargarlo siguiente el siguiente LINK.

Para grabar la imagen en nuestra tarjeta SD simplemente abre Etcher, selecciona la imagen y la unidad (Tarjeta SD) y le das a Flash. Esperamos a que se complete el proceso y listo.

balenaEtcher

Una vez la imagen esté grabada en tu tarjeta SD, simplemente deberás introducirla en tu Raspberry Pi y encenderla.

¿Que características trae esta imagen?

  • 4 Modos de nodo con 1 solo click (Nodo Privado, Nodo de Minería Privado, Nodo Publico y Nodo bajo TOR)
  • Interfaz grafica por navegador web.
  • Ver el estado del nodo y del hardware.
  • Permite controlar el ancho de banda, los limites de conexión y cambiar el puerto RPC por defecto.
  • Ver la pool de transacciones.
  • Ver información acerca de los pares conectados.
  • Explorador de Monero
  • PiVPN
  • PoP Blocks — Una herramienta de Monero para solucionar problemas de blockchain.
  • TOR

En este punto ya puedes acceder a tu interfaz grafica en la web, sin embargo vamos a configurar algunas cosas antes.

No olvides conectar el cable de Red con acceso a Internet a tu Raspberry Pi.

Encendido

La primera vez que enciendas tu Raspberry Pi con la tarjeta SD dentro y la imagen previamente grabada, el software comprobará si es la primera vez. Durante el primer inicio realizará algunas redimensiones de la partición rootfs y se reiniciará un par de veces. Lo recomendable es que una vez encendido el dispositivo lo dejemos sin tocar al menos unos 5 minutos para que configure todo. Luego podemos intentar conectarnos a nuestra Raspberry Pi.

Conectarte a tu Raspberry Pi

Puedes probar hacer un ping hacia tu mDNS en tu Raspberry, para ello simplemente ve a tu linea de comando (Linux) y pon:

$ ping pinodexmr.local> PING pinodexmr.local (192.168.1.36) 56(84) bytes of data.
> 64 bytes from 192.168.1.192 (192.168.1.36): icmp_seq=1 ttl=34 time=48.1 ms
> 64 bytes from 192.168.1.192 (192.168.1.36): icmp_seq=2 ttl=34 time=55.5 ms

Si todo va bien significa que mDNS funciona y puedes acceder simplemente

$ ssh pinodexmr@PiNodeXMR.local

Username: pinodexmr

Password: PiNodeXMR

Si NO funciona puedes probar a ubicar la dirección IP de tu raspberry pi a nivel local, puedes por ejemplo descargarte una aplicación para móvil android llamada Fing, el cual 100% encontrara tu Raspberry pi en tu red local y podrás ver su dirección IP. De esta manera quedaría así:

Fing Raspberry PiNodeXMR

te conectas de la siguiente Manera:

ssh pinodexmr@192.168.1.36

Todo esto lo estamos haciendo desde un ordenador externo, ahora bien, supongamos que tienes Windows, o simplemente no deseas conectarte por la consola de Linux, pues bien, primero deberás conocer la dirección ip Local de tu Raspberry Pi, con el programa que te mencioné anteriormente puedes escanear tu red para localizarla.

Una vez tengas la dirección IP localizada que hace referencia a tu Raspberry Pi, simplemente coloca esa dirección ip en tu navegador (Mozilla o Chrome por ejemplo).

tendrás algo así:

PiNodeXMR

Desde aquí puedes acceder a “Web Terminal” de tu nodo de Monero arriba a la derecha y automáticamente accederás a la terminal de tu Raspberry Pi, sin necesidad de instalar nada en Windows y sin tener que usar la linea de comando de Linux en tu equipo.

Recuerda la configuración inicial es la siguiente:

Username: pinodexmr

Password: PiNodeXMR

Indiferentemente el método que hayamos utilizado para acceder a la consola de nuestro equipo Raspberry Pi, comenzaremos la configuración del mismo:

Configuración del Raspberry Pi

Esta es la pantalla inicial que tendremos cuando arranquemos nuestro Raspberry Pi y entremos bien sea por SSH a través de nuestra línea de comandos (Linux) o a través de la web en el apartado ‘Web Terminal’. Vamos a explicar opción por opción y configurando a nuestro modo.

Configuración PiNodeXMR

Entramos en System Settings

En la primera opción (Hardware y WiFi Settings), tendrás la posibilidad de cambiar la configuración para tu hardware, Wifi y contraseña de WiFi. Si deseas mas información acerca de las diferentes opciones, puedes consultar todo en la pagina oficial de Raspberry Pi. También puedes mirar por ti mismo algunas opciones, pero asegurate de no cambiar nada si no sabes lo que haces.

En el apartado System Settings nos vamos a enfocar en 3 puntos importantes, 2) Master Login Password Set, 3) Monero RPC Username and password setup y el 4) USB storage stup.

PiNodeXMR configuración

Hardware y WiFi Settings

Si quieres configurar la WiFi vas a tener que entrar en 1) Hardware y WiFi settings y cambiar las opciones respectivas. Ten en cuenta que si activas el WiFi no debes conectar el cable de red RJ45, de lo contrario se te asignaran 2 direcciones IP y el nodo de Monero no iniciará. Para mayor estabilidad yo recomiendo utilizar un cable de red en lugar de WiFi.

Propiedades para la configuración de tu raspberry para tu nodo de Monero

Master Login Password Set

Este menú te permitirá establecer una nueva contraseña (Lo cual encarecidamente se recomienda hacer) de usuario root / pinodexmr.

Al crear tu contraseña, el cuadro de entrada no puede estar vacío, la contraseña debe tener más de 8 caracteres, alfanumérico aBc123, sin caracteres especiales% ^ -_

Esta contraseña se utilizará para iniciar sesión en el terminal web en el futuro y para aquellos que acceden a través de SSH. Si olvidas esta contraseña, se bloqueará el acceso a estos menús.

PiNodeXMR Master Login

Monero RPC Username and Password setup

Este menú te va a permitir establecer una nueva contraseña con las mismas características que el anterior. Esta contraseña / nombre de usuario se usa para conectar tu billetera a este nodo. De modo que para conectar tu GUI wallet, Monerujo o CakeWallet a tu nodo, deberás colocar la IP, el puerto además del Usuario y Contraseña que coloques en este apartado. Recuerdalo.

PiNodeXMR Monero RPC

Configuración de almacenamiento USB (Disco Duro) “USB Storege Setup”

Este menú básicamente va a comprobar las unidades conectadas a tu Raspberry Pi, dependiendo de tu caso, existen varias formas de configurar este apartado.

Si no tienes la Blockchain para el nodo de Monero previamente descargada en el Disco Duro, entonces sigue las instrucciones, es muy intuitivo y el programa hará todo, la sincronizan puede demorar incluso 1 Semana dependiendo de tu equipo y conexión a Internet.

Si tienes la blockchain previamente descargada, lo que yo te recomiendo es que sencillamente conectes el SSD a tu Raspberry, entres en éste menú, sigas los pasos (Borrará todo) y luego apagues tu equipo, conecta el SSD a tu ordenador y copia la carpeta lmdb dentro de tu disco duro, conecta nuevamente todo y enciende, vuelves a entrar al menú y el programa debería de encontrar la blockchain.

SD Card Health Checker

Una nueva herramienta para verificar las velocidades secuenciales y aleatorias de lectura / escritura de la tarjeta SD. Tiene algunos objetivos de rendimiento establecidos y te informará si cumple o no esos objetivos a través de PASS / FAIL.

Antes de comenzar esta prueba, asegúrate de haber detenido tanto el nodo como el explorador, de lo contrario la prueba fallará.

PiNodeXMR SD Card Heald

Hasta aquí llegan las opciones de configuración del menú ‘System Setting‘ ahora volveremos atrás para ver el resto de opciones.

Update Tools

Si volvemos atrás nos encontraremos con el menú Update Tools. En éste apartado podremos actualizar básicamente todo lo que corre en nuestro Raspberry Pi, desde las dependencias del SO, hasta el software de Monero y el explorador.

PiNodeXMR Update Monero

Veamos las opciones y lo que realiza cada una, enumerada respectivamente como aparece en la imagen.

  1. Descarga y actualiza la versión de Monero.
  2. Actualiza tu interfaz de explorador, agrega nuevas herramientas si las hay, en pocas palabras actualiza tu PiNodeXMR.
  3. Actualiza la versión del explorador de Monero, desde el siguiente repositorio. LINK.
  4. Esta opción simplemente corre el comando sudo apt-get update && sudo apt-get upgrade -y que actualiza las dependencias del sistema operativo Raspberry Pi OS.

Una vez finalizado en este apartado (Si se hubiera requerido actualizar algún programa) volveremos atrás.

Node Tools

PiNodeXMR Opciones de nodo
  1. Corre automáticamente el explorador.
  2. Este método básicamente poda tu nodo para ocupar un menor espacio de blockchain.
  3. Nueva característica. Esto utiliza una herramienta blockchain almacenada en tu sistema para eliminar un número específico de bloques del final de la cadena de bloques. Le pedirá un valor y se eliminarán muchos bloques. Asegúrate de que blockchain no esté en uso por el nodo o el explorador primero (deténlos). Esto se puede usar si tiene errores de transacción de blockchain que te impiden completar una sincronización. Puede ayudar a evitar una larga sincronización de reinicio desde cero.

Una vez finalizado volvemos atrás.

Extra Network Tools

Por último tenemos el menú ‘Extra Network Tools’ aquí encontraremos algunas opciones un poco avanzadas para mejorar tanto la privacidad como la comodidad de nuestras conexiones a nuestro nodo.

PiNodeXMR Opciones de red
  1. Instala TOR para poder activarlo desde la interfaz web.
  2. Es una utilidad de monitoreo de ancho de banda para tor, (anteriormente conocido como tor-arm). No esencial
  3. Herramienta pre-instalada en la imagen, básicamente utiliza el siguiente VPN https://www.pivpn.io/ puedes consultar el sitio, personalmente preferiría usar otro tipo de VPN.
  4. Te permite configurar un nombre de Host Gratis para poder conectarte de manera externa (Cuando no estés en casa) a tu Nodo, sobre todo cuando tienes una IP dinámica que cambia constantemente. Personalmente no lo recomiendo para temas de seguridad y privacidad.

Con esto llegamos al final de la configuración, ahora explicaremos en detalle el apartado de la interfaz web.

Interfaz Web

Recuerda que podemos acceder a las opciones de nuestro Raspberry Pi a través de una amigable interfaz web, colocando la dirección IP local de nuestra Pi en nuestro navegador.

Advanced Settings – Arrancar el Nodo

En este apartado es donde pondremos en marcha nuestro nodo una vez todo esté correctamente configurado.

pagina de correr nodo

Ésta es la página para arrancar o para nuestro nodo. También nos permitirá correr un nodo a través de Tor, la clearnet o en modo Mining. El nodo posee memoria interna, con lo cual todos los cambios que realicemos en este apartado se conservarán si el dispositivo se reinicia o pierde corriente eléctrica.

Nodo Privado

Básicamente arranca el nodo RPC con el usuario y contraseña establecidos anteriormente en donde solo usted podrá acceder si posee las credenciales.

Nodo Público

Es una nueva característica bastante interesante en donde puedes ser recompensado (te pagan) por correr un nodo. Aún no la he testeado pero puedes leer mas en

https://github.com/monero-project/monero/commit/2899379791b7542e4eb920b5d9d58cf232806937
Tor: Private Bridging Node

Si instalaste Tor previamente, se generará una onion addres única la cual se mostrará en este apartado. Posteriormente puedes arrancar tu nodo vía tor.

Bandwidth

En este apartado puedes configurar el ancho de banda que consume tu nodo, sobre todo si tienes un ancho de banda limitado o sientes que está consumiento mucho mas de lo que puedes permitirte. Para que el cambio sea efectivo deberás detener el nodo, realizar el cambio y correrlo nuevamente.

Hasta aquí ha llegado nuestra pequeña guía para que puedas correr un nodo de Monero.