Introducción
Transmitir transacciones de Bitcoin (BTC) desde la línea de comandos es una forma avanzada y eficiente de interactuar directamente con la red sin depender de interfaces gráficas. En este artículo se explican paso a paso los comandos, formatos y buenas prácticas para crear, firmar y enviar transacciones BTC usando únicamente herramientas CLI.
Requisitos Previos
– Nodo Bitcoin Core sincronizado (mainnet o testnet)
– Acceso al archivo bitcoin.conf con credenciales RPC
– bitcoin-cli instalado y accesible en el PATH
– Conocimientos básicos de UTXO, direcciones y llaves privadas
Paso 1: Configuración del Nodo
1. Editar bitcoin.conf
En el directorio de datos de Bitcoin Core (
– rpcuser=
– rpcpassword=
– server=1
– txindex=1
2. Reiniciar el nodo
Tras guardar la configuración, reinicie Bitcoin Core para activar el servicio RPC.
Paso 2: Crear la Transacción Cruda
1. Obtener UTXOs disponibles
Ejecute:
Esto devuelve un arreglo JSON con UTXOs: txid, vout, monto, etc.
2. Construir inputs y outputs
Prepare dos objetos JSON:
–
–
3. Generar transacción sin firmar
Use:
La respuesta es un hex string (
Paso 3: Firmar la Transacción
Para firmar la transacción con sus llaves privadas almacenadas localmente:
Recibirá un objeto JSON con
Paso 4: Transmitir la Transacción
4.1 Usando bitcoin-cli
El comando final para enviar el hex firmado es:
Esto devuelve el
4.2 Usando cURL y API Pública
Si no tiene nodo propio, puede retransmitir vía un servicio público:
Resumen de Comandos
| bitcoin-cli listunspent | Lista UTXOs disponibles |
| bitcoin-cli createrawtransaction | Crea transacción sin firmar |
| bitcoin-cli signrawtransactionwithwallet | Firma la transacción con el wallet local |
| bitcoin-cli sendrawtransaction | Envía la transacción firmada a la red |
Consideraciones de Seguridad
– Nunca exponga sus llaves privadas ni RPC credentials.
– Use entornos offline (
– Valide los fees y la dirección de destino antes de transmitir.
Enlaces de Interés
– Documentación oficial Bitcoin Core: https://bitcoincore.org/en/doc/
– API BlockCypher: https://www.blockcypher.com/dev/bitcoin/
Conclusión
Transmitir transacciones BTC desde la línea de comandos ofrece control total sobre cada paso del proceso. Aunque requiere algo de experiencia y atención a la seguridad, permite optimizar fees, personalizar inputs/outputs y automatizar flujos de trabajo. Con los comandos descritos aquí, puede integrar de forma confiable la emisión de transacciones BTC en scripts o aplicaciones back-end.
