En este tutorial podrás aprender a instalar Bitcoin Core compilándolo desde el código fuente con Línea de comandos en una computadora con Mac OS.
EntrePlanctonyBallenas Twitter para correcciones, comentarios o sugerencias: @entreplanctony1
El presente tutorial fue elaborado para el Seminario socrático de Mastering Bitcoin a través de @libreriadesatoshi
En el siguiente enlace puedes encontrar la documentación de referencia:
https://bitcoin.org/en/full-node
Los nodos completos de Bitcoin Core tienen ciertos requisitos. Si intentas ejecutar un nodo en un hardware viejo, puede funcionar, pero probablemente pasarás más tiempo lidiando con problemas. Si puedes cumplir los siguientes requisitos, tendrás un nodo fácil de usar.
Antes de comenzar, asegúrate de conectar tu laptop o PC con un cable de red directamente hacia tu módem de internet y desactiva la wifi, para tener una conexión a internet lo más veloz y estable posible.
Asegúrate de que tu computadora esté conectada a la corriente eléctrica y en las preferencias de sistema abre el “Ahorro de energía” para activar la función de “Impedir que la computadora entre en repos automáticamente”, el IBD toma varios días y cada vez que se suspende tu computadora se interrumpirá la descarga.
Toma en cuenta que necesitas 540 GB de espacio para almacenar toda la cadena de bloques completa, por lo que si no tienes este espacio disponible en el disco duro de tu sistema operativo, deberás conectar un disco duro externo, pero asegúrate que dicho disco pueda ser montado como lectura / escritura (los discos creados con particiones NTFS solo pueden ser montados como “read only” en MAC OS).
Las herramientas de línea de comandos Xcode son una colección de herramientas para macOS, y deben estar instaladas para poder instalar Bitcoin Core desde el código fuente.
Corre el siguiente comando desde tu terminal:
Al correr el comando debería aparecer un aviso. Haz clic en instalar para continuar la instalación.
Homebrew es un gestor de paquetes para macOS que permite instalar paquetes desde la línea de comandos de manera fácil.
Para instalar Homebrew, corre:
Hay que descargar las dependencias requeridas. Estas dependencias son paquetes necesarios para hacer la instalación.
Ver dependencies.md para una lista completa.
Corre el siguiente comando en tu terminal:
Para poder utilizar wallets legacy es necesario instalar el paquete berkeley-db@4, corre el comando:
Git ya debería estar instalado en tu equipo. Ahora, con todas las dependencias instaladas, hay que clonar el repositorio de Bitcoin Core en un directorio de nuestra computadora. Todos los scripts para compilar y los comandos van a ejecutarse desde el directorio que elijas.
Ejemplo, si quiero crear un directorio llamado codigo-fuente y acceder al contenido de dicho directorio para que ahí se guarde la copia de bitcoin core los comandos serían:
Y para clonar el repositorio:
Ahora necesitas moverte al nuevo directorio que ha creado el comando git debajo de la ruta que creaste:
Para ver las versiones disponibles usamos el subcomando tag
También puedes mirar la versión del último release en este link: https://github.com/bitcoin/bitcoin/releases
En este caso vamos a seleccionar la última versión que es la v24.0.1 usando el subcomando checkout
Si quieres instalar la interfaz gráfica de Bitcoin Core debes instalar el paquete qt@5. Si no quieres usar la interfaz gráfica puedes saltar este paso:
La interfaz gráfica también puede codificar direcciones en código QR. Para usar esta función necesitas instalar el este paquete:
Hay un conjunto de pruebas que es muy útil para probar el código, si eres desarrollador. Para poder correr estas pruebas (recomendado) hay que instalar python.
Si deseas que bitcoin core cree un archivo con extensión .dmg para instalación en algún otro equipo con Mac OS, sin necesidad de compilar desde el código fuente, debes correr el siguiente comando (solo funciona si ya tienes instalado python):
Existen muchas maneras de configurar Bitcoin Core según las opciones que quieras instalar, aquí solo las dos más comunes. Ambas instalarán bitcoind y bicoin-cli, pero podrás controlar si se instalan las otras funcionalidades:
El siguiente comando habilita el soporte GUI y habilita el soporte para wallets legacy. Si no instalaste qt (arriba) te mandará error. Si berkeley-db@4 no está instalado, la funcionalidad de wallets legacy quedará desactivada, pero la de wallets más recientes sí quedará activa, ya que sqlite está instalado por default en macOS.
Después de configurar estás listo para compilar. Corre el siguiente comando (dependiendo del hardware de tu computadora este proceso puede tardar un par de horas, mira la siguiente sección):
💡 En lugar de simplemente ejecutar make Puedes usar la opción “-j N” para compilar usando varios núcleos de procesador de manera paralela y reducir el tiempo que va a tardar la compilación (pero consumirá más recursos, tómalo en cuenta por si estás realizando otras actividades), consulta el siguiente enlace para tener más información al respecto, aquí un ejemplo:
Para poder correr las pruebas funcionales (ver Test Suite) si instalaste python.
Puedes crear un archivo de instalación con extensión .dmg para que no tengas que volver a compilar si quieres instalar en otro equipo similar. Este DMG se creará con todas las opciones de configuración que escogiste previamente.
El archivo ejecutable de Bitcoin Core se habrá creado en la ruta relativa ./src/bitcoind. Este archivo es el daemon (proceso en segundo plano) que necesitas correr si solo vas a utilizar la línea de comandos de bitcoin core.
El archivo ./src/bitcoin-cli es el ejecutable que utilizarás para interactuar con Bitcoin Core y debes ejecutarlo solo después de haber ejecutado ./src/bitcoind, de otra forma, el archivo mandará un error.
Y si compilaste también la interfaz gráfica, la ruta será ./src/qt/bitcoin-qt.
Siguiendo el ejemplo de la sección “Clonar el repositorio” que expusimos arriba, la ruta absoluta de ambos archivos sería:
La primera vez que ejecutes el archivo bitcoind o bitcoin-qt, va a comenzar el proceso de IBD que puede tardar días (si quieres más información sobre este proceso y sus implicaciones consulta este enlace).
Por default, los archivos de “wallets” y “la cadena de bloques” se van a guardar en este directorio:
Puedes monitorear el proceso de IBD y cualquier actividad que realiza el software de Bitcoin Core en el archivodebug.log:
Es posible que el equipo que estás usando no tenga el espacio suficiente en el directorio por default para almacenar toda la cadena de bloques (500 gb aprox), pero puedes indicarle a Bitcoin Core que la descargue en otro directorio o disco de tu computadora.
Si este es tu caso, antes de correr bitcoind, puedes crear un archivo vacío de configuración en la siguiente ubicación:
Con el editor de texto de tu preferencia debes modificar el archivo bitcoin.conf que acabas de crear para que contenga la siguiente línea:
Del ejemplo anterior tenemos:
La otra configruación básica del archivo bitcoin.conf se hace agregando la siguiente línea al archivo:
Esta variable permite que el nodo cree un índice de todas las transacciones dentro de los bloques descargados y se usa para poder consultar cualquier transacción dentro de la base de datos de bitcoin.
Si vas a utilizar la red de pruebas de Bitcoin, por favor consulta: Cómo correr un nodo en modo testnet
Si ejecutas bitcoind sin argumentos, no puedes cerrar la terminal en la que lo estés ejecutando, de otra forma el programa se cerrará junto con la ventana de terminal que estás utilizando. Por este motivo, si deseas poder cerrar la terminal sin parar la ejecución, debes correr el comando de la siguiente manera desde una terminal (en este ejemplo usamos la ruta absoluta del archivo, pero tú puedes usar la ruta relativa):
Y para detener el programa de bitcoind puedes hacerlo usando:
De igual forma, si decides ejecutar desde una terminal el comando para lanzar la interfaz gráfica, no podrás cerrar la terminal o Bitcoin Core también se cerrará. Para abrir la interfaz gráfica desde línea de comando y que puedas cerrar la terminal: