Cómo configurar un nodo completo de Bitcoin con Dojo en Linux

Imagen destacada de instalación de Bitcoin Dojo

Bitcoin es una herramienta innovadora y liberadora. Permite a un individuo obtener un recurso independiente que puede usar para intercambiar fácilmente con otras personas en línea, ya que a diferencia del dinero electrónico, Bitcoin genera escasez al limitar la cantidad total de monedas que pueden circular en su red.

Una forma de comenzar a usar Bitcoin para transacciones es utilizar un nodo completo con una billetera móvil. Una de las mejores herramientas que puedes usar es Dojo con Samourai Wallet.

Tabla de Contenidos

  • ¿Cómo funciona Bitcoin?
  • ¿Por qué usar un nodo completo de Bitcoin?
  • ¿Qué es Dojo?
  • Preparativos para la instalación de Dojo en Ubuntu Linux
  • Instalación del nodo de Bitcoin Dojo en Ubuntu
  • Vinculación de Samourai Wallet con Dojo
  • Preguntas frecuentes

También lee: ¿Qué es la Lightning Network de Bitcoin?

¿Cómo funciona Bitcoin?

En su esencia, Bitcoin es una base de datos distribuida que mantiene un seguimiento de los registros de manera inmutable. Crea un sistema que hace tres cosas:

  • Cada nueva entrada en la base de datos depende de la anterior, creando una cadena histórica de eventos que vincula todas las entradas entre sí.
  • Agregar una nueva entrada requiere que realices una cierta cantidad de trabajo para asegurar que cualquiera que intente falsificar una entrada necesite rehacer ese trabajo, así como cualquier trabajo realizado después de ello.
  • Cada nodo completo en la red recibe una copia de la base de datos y sigue un conjunto simple de reglas que, a su vez, permite que cada participante esté de acuerdo sobre la versión correcta de la historia.

Estas características de Bitcoin aseguran que cada nueva entrada en el sistema sea tan segura como la anterior. Su naturaleza descentralizada también le permite funcionar sin ninguna autoridad central.

Esto hace que Bitcoin sea increíblemente útil para individuos que deseen realizar transacciones de manera privada sin terceros.

También lee: ¿Cómo ganar criptomonedas navegando por la web?

¿Por qué usar un nodo completo de Bitcoin?

Un nodo completo de Bitcoin es un software que te permite convertirse en un participante independiente en la red de Bitcoin. Proporciona una copia exacta del historial de transacciones de la red y te permite hacer una serie de cosas que no son posibles desde una billetera normal de Bitcoin.

Por ejemplo, tener todo el historial de transacciones permite que un nodo completo verifique cualquier transacción entrante por sí mismo. Esto puede ser especialmente útil para usuarios que aceptan Bitcoin para su negocio.

Ejecutar un nodo completo también te permite convertirte en un archivo para la red de Bitcoin. Otros usuarios que quieran tener su propio nodo completo pueden usar el tuyo como punto de partida.

Por último, usar un nodo completo también elimina la necesidad de servidores externos cada vez que verificas y difundes nuevas transacciones. Esto puede ser útil para usuarios que desean tener seguridad y privacidad al usar Bitcoin.

Una de las formas más fáciles de usar un nodo completo es instalar Dojo.

¿Qué es Dojo?

Dojo es un conjunto de software potente que te permite crear y desplegar fácilmente un nodo seguro de Bitcoin. También busca mantener un alto grado de seguridad a través del uso de varios complementos que mejoran la privacidad, así como Tor.

Sitio web del servidor Dojo de instalación de Bitcoin

Es importante tener en cuenta que la instalación real de Dojo puede ser un proceso intensivo en recursos y que consume tiempo, aunque los pasos de instalación son fáciles.

Esto se debe principalmente a que obtener el historial de transacciones de Bitcoin requiere que tu computadora verifique cada entrada que recibe. Por ejemplo, mi máquina Core 2 Duo de 2011 tardó cinco días en sincronizarse completamente con la red.

Además, también es una buena práctica asegurarte de que tu computadora pueda almacenar todos los datos. Para la mayoría de los casos, un disco de 1TB debería ser suficiente para almacenar todo el historial, además de dejar espacio para nuevos datos.

Este tutorial se centra en la instalación de Dojo en una máquina con Ubuntu 22.04. Si bien la mayoría de los comandos deberían funcionar para cualquier distribución de Linux, los nombres de los paquetes así como los programas pueden variar.

También lee: ¿Qué es Web3 y cómo cambiará tu vida digital?

Preparativos para la instalación de Dojo en Ubuntu Linux

Para empezar, primero crea una nueva cuenta de usuario en el sistema:

sudo useradd -s/bin/bash-d/home/dojo -m-Gsudo dojo  
sudopasswd dojo

Crear nuevo usuario

Esto separa cualquier configuración y programa que Dojo ejecutará de tu cuenta de usuario. Una cuenta separada también reducirá la posibilidad de que errores del usuario afecten a Dojo.

Una vez hecho, puedes cambiar al usuario Dojo ejecutando: su dojo, luego comienza a instalar algunas dependencias específicas de la distribución:

sudo apt update  
sudo apt install gnupg-agent ca-certificates curl software-properties-common unzip tor torbrowser-launcher

Instalación de dependencias en Ubuntu

A continuación, incluye el repositorio para Docker y Docker Compose.

Descarga e importa la clave de firma principal para las versiones de Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudoapt-key add -

Agrega el repositorio de Docker:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"  
sudo apt update

Agregar claves de Docker

Instala Docker:

sudo apt install docker-ce docker-ce-cli  
sudo usermod -aGdocker dojo

Finalmente, instala docker-compose:

sudo curl -L"https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)"-o/usr/local/bin/docker-compose  
sudochmod +x /usr/local/bin/docker-compose

Versión de Docker Compose

Comienza a descargar Dojo en tu máquina:

wget https://code.samourai.io/dojo/samourai-dojo/-/archive/master/samourai-dojo-master.zip

Descarga del zip de Dojo

Extrae todos los archivos de Dojo en tu máquina:

mkdir/home/$USER/dojo  
unzip/home/$USER/samourai-dojo-master.zip -d/home/$USER/dojo

Directorio de descompresión de Dojo

Configurando las claves secretas de Dojo

Abre el archivo “docker-bitcoind.conf.tpl” en la carpeta de dojo:

nano/home/$USER/dojo/docker/my-dojo/conf/docker-bitcoind.conf.tpl

Las variables que necesitan ser editadas son BITCOIN_RPC_USER= y BITCOIN_RPC_PASSWORD=. Dojo utiliza estas para conectarse a otras billeteras remotas:

BITCOIN_RPC_USER=dojo  
BITCOIN_RPC_PASSWORD=random_password

Ejemplo de conf de Bitcoind

Modificando la base de datos de Dojo

El siguiente archivo que necesita ser editado es “docker-mysql.conf.tpl.” Contiene toda la información que no está directamente relacionada con tu nodo completo:

nano/home/$USER/dojo/docker/my-dojo/conf/docker-mysql.conf.tpl

Edita tres variables en este archivo de configuración: MYSQL_ROOT_PASSWORD=, MYSQL_USER= y MYSQL_PASSWORD=:

MYSQL_ROOT_PASSWORD=your_mysql_root_password  
MYSQL_USER=dojo  
MYSQL_PASSWORD=mysql_user_password

Ejemplo de configuración de Mysql

Modificando la configuración de NodeJS

El siguiente archivo a editar es “docker-node.conf.tpl.” Controla la instancia del frontend de Dojo y sirve como el pegamento que combina el nodo completo, MySQL y todas las funciones adicionales que utiliza Dojo:

nano/home/$USER/dojo/docker/my-dojo/conf/docker-node.conf.tpl

Dentro de este archivo, edita las siguientes variables: NODE_API_KEY=, NODE_ADMIN_KEY= y NODE_JWT_SECRET=.

  • NODE_API_KEY sirve como la clave secreta principal para la API REST de tu Dojo. Este valor permitirá que otros servicios se comuniquen fácilmente con Dojo cuando sea necesario.
  • NODE_ADMIN_KEY es la contraseña primaria para tu instancia de Dojo. Escribirás esto cada vez que quieras acceder al panel de configuración de tu Dojo.
  • NODE_JWT_SECRET sirve como la sal principal para el sistema de Web Token de tu Dojo y es el valor que asegura que haya un fuerte cifrado para cada sesión de Dojo.
NODE_API_KEY=random_node_api_key  
NODE_ADMIN_KEY=random_node_admin_key  
NODE_JWT_SECRET=random_node_jwt_secret

Ejemplo de configuración de Nodejs

Configurando el explorador de bloques de Bitcoin

Por último, necesitas editar el archivo “docker-explorer.conf.tpl.” Controla el explorador de bloques interno de Dojo:

nano/home/$USER/dojo/docker/my-dojo/conf/docker-explorer.conf.tpl

Edita dos variables en este archivo de configuración: EXPLORER_INSTALL= y EXPLORER_KEY=. La primera le dice a Dojo que deseas instalar el explorador de bloques, mientras que la segunda sirve como la contraseña para la aplicación.

EXPLORER_INSTALL=on  
EXPLORER_KEY=random_key

Ejemplo de configuración de explorador de bloques

También lee: ¿Qué es DeFi y cómo funciona?

Instalando el nodo Bitcoin de Dojo en Ubuntu

A continuación, inicia el script de instalación de Dojo ejecutando el siguiente comando:

/home/$USER/dojo/docker/my-dojo/dojo.sh install

El script de instalación descargará todas las herramientas necesarias que necesita para construir el contenedor de Docker de Dojo, y luego comenzará un proceso de compilación donde construirá tanto las herramientas como los programas necesarios.

Compilación de herramientas de Docker

El script iniciará el ejecutable de Dojo y se sincronizará de inmediato con la red de Bitcoin, lo que indicará con un cambio en el diseño y el color del terminal. Presiona Ctrl + C para llevar el proceso al fondo.

Progreso de sincronización de Dojo

Comprobando el progreso de la sincronización de Dojo

Como se mencionó anteriormente, sincronizarse con la red de Bitcoin puede tardar desde unas pocas horas hasta unos días. Es importante llevar un seguimiento del progreso del nodo y buscar cualquier problema potencial durante la sincronización.

Hay dos formas de verificar el progreso de Dojo. Primero, utiliza el archivo “dojo.sh” para generar un registro en ejecución del servidor. Es especialmente útil si deseas una forma rápida de ver el progreso del servidor. Por ejemplo, ejecutar este comando mostrará todos los registros relacionados con el nodo completo de Bitcoin:

/home/$USER/dojo/docker/my-dojo/dojo.sh logs bitcoind

Comando de registros de Dojo

También es posible verificar el progreso de Dojo a través de su portal web dedicado. Sin embargo, debes asegurarte de que tu computadora tenga una copia del navegador Tor para ejecutar el siguiente comando e imprimir todas las direcciones onion que utiliza Dojo:

/home/$USER/dojo/docker/my-dojo/dojo.sh onion

A continuación, necesitas copiar y cargar la dirección para la “Herramienta de API y mantenimiento de Dojo” a través del navegador Tor para cargar un pequeño mensaje donde puedes escribir la clave de administrador que añadiste anteriormente.

Inicio de sesión en la herramienta de mantenimiento

Dojo mostrará un breve resumen de tu nodo, así como los diversos estados de sus servicios, lo cual es útil si quieres una visión más completa de tu instancia de Dojo.

Pantalla de resumen

También lee: Lo que necesitas saber sobre las billeteras de hardware de criptomonedas.

Vinculación de Samourai Wallet con Dojo

Una vez que tu nodo Dojo esté correctamente sincronizado con la red de Bitcoin, puedes vincular tu billetera móvil a él. Por defecto, el nodo completo de Dojo funciona bien con Samourai Wallet para Android.

Sitio web de Samourai Wallet

  1. Descarga Samourai Wallet desde la Play Store.
  2. Ejecuta Samourai Wallet y habilita “Conectar a tu propio servidor Dojo”, luego haz clic en “Escanear QR”.

Vinculación de Samourai Wallet con Dojo

  1. En la Herramienta de Mantenimiento de tu Dojo, haz clic en la opción “Vinculación” en el menú del sitio web de la izquierda para generar un código QR para escanear.

Código QR de vinculación de Dojo

  1. Vuelve a tu Samourai Wallet y escanea el código QR en el sitio web.

¡Felicidades! Has configurado tu propio nodo completo de Bitcoin a través de Dojo.

Preguntas frecuentes

¿Puedo usar la misma contraseña para las claves secretas de Dojo?

Sí, pero no lo alentamos. El nodo completo de Dojo depende de las claves que proporcionas para algunas de sus funciones sensibles. Si un atacante logra tomar control de tu única clave, es posible que pueda espiar y modificar tus transacciones.

¿Dojo se queda atascado en 5% mientras se conecta a Tor? ¿Está roto mi nodo de Bitcoin?

Esto está sucediendo probablemente porque Docker no puede establecer una conexión externa adecuada. Esto podría suceder porque tu máquina tiene tanto las versiones de apt como de snap de Docker.

Para solucionar esto, elimina todas las instancias de Docker y reinstálalo con solo una versión.

Tengo un error de “tarea: bitcoind bloqueada por más de 120 segundos”. ¿Qué está mal con mi Dojo?

Lo más probable es que tu máquina se esté quedando sin recursos durante la sincronización, por lo que el programa se encuentra en un estado de “auto-bloqueo” donde espera que haya suficientes recursos. Hay instancias en las que esto conduce a un bloqueo completo del sistema.

Es importante asegurarte de que tu computadora tenga suficientes recursos para sincronizarse y gestionar un nodo de Bitcoin. Tu máquina debe tener al menos 1TB de espacio y 8GB de RAM para sincronizarse cómodamente con la red de Bitcoin.