Descripción General
En computación, un daemon es un programa que se ejecuta como proceso en segundo plano en lugar de ser controlado directamente por un usuario a través de una interfaz gráfica. En el contexto de Bitcoin, el daemon más importante es bitcoind, el daemon de Bitcoin Core que opera un nodo completo. Ejecutar bitcoind permite que un servidor participe en la red de Bitcoin, valide transacciones y bloques, mantenga una copia de la blockchain y proporcione servicios a través de su interfaz RPC.
Arquitectura de bitcoind
┌──────────────────────────────────────────────┐
│ bitcoind │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ P2P │ │Validation│ │ Wallet │ │
│ │ Network │ │ Engine │ │ (optional)│ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ ┌────┴──────────────┴─────────────┴─────┐ │
│ │ Blockchain Database │ │
│ └────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────┐ │
│ │ JSON-RPC Interface │ │
│ └────────────────┬───────────────────────┘ │
└───────────────────┼───────────────────────────┘
│
┌───────────┴───────────┐
│ │
bitcoin-cli Applications
(command line) (wallets, explorers)
Uso Común
Ejecutar bitcoind en un servidor es la forma estándar de operar un nodo completo de Bitcoin:
- Descarga inicial de bloques (IBD): En la primera ejecución, bitcoind descarga y valida todo el historial de la blockchain
- Operación continua: Recibe continuamente nuevos bloques y transacciones, los valida y los retransmite a los pares
- Interfaz RPC: Expone una API JSON-RPC que permite a otros programas consultar datos de la blockchain, enviar transacciones y gestionar billeteras
Configuración
bitcoind se configura a través de un archivo bitcoin.conf o argumentos de línea de comandos. Los ajustes comunes incluyen selección de red (mainnet, testnet, signet), credenciales RPC, límites de conexión con pares, opciones de poda para configuraciones con restricciones de disco y asignación de memoria para la caché UTXO.
Por Qué Ejecutar un Daemon
Ejecutar tu propio daemon bitcoind es la forma más soberana de interactuar con Bitcoin. Te permite verificar todas las transacciones de forma independiente, mejora tu privacidad al no depender de servicios de terceros para verificar tus saldos y contribuye a la salud de la red al retransmitir transacciones y bloques a otros pares.