Logo
Nuevos usuarios de RPC: 35% de descuento el primer mesVer oferta
RPC Assistant

Endpoints RPC de Bitcoin y acceso a la API: ¿Cómo te conectas a la red Bitcoin?

Resumen

Bitcoin no utiliza JSON-RPC al estilo EVM. En su lugar, el software de nodo como Bitcoin Core expone una interfaz JSON-RPC para operaciones de wallet, blockchain y mempool, mientras que la mayoría de las aplicaciones dependen de APIs indexadas o proveedores de nodos gestionados para búsquedas de direcciones y datos de transacciones. Este artículo explica los patrones de acceso disponibles, la configuración de la cadena que necesitas y cómo decidir entre endpoints públicos, APIs RPC gestionadas y nodos Bitcoin dedicados. OnFinality proporciona API RPC gestionada e infraestructura de nodos dedicados para redes compatibles, incluida Bitcoin, para que puedas conectarte sin ejecutar tu propio nodo completo.

La capa RPC de Bitcoin funciona de manera diferente a las interfaces JSON-RPC que la mayoría de los desarrolladores EVM esperan. Si estás creando una wallet, un explorador, un procesador de pagos o una herramienta de trading, necesitas entender qué patrón de acceso se ajusta a tu carga de trabajo antes de elegir un endpoint. Esta página recorre las opciones prácticas: JSON-RPC de Bitcoin Core, APIs indexadas, endpoints públicos y servicios de nodos gestionados como OnFinality.

¿Qué patrón de acceso a Bitcoin se ajusta a tu carga de trabajo?

Empieza por identificar qué necesita hacer realmente tu aplicación. Bitcoin Core expone una interfaz JSON-RPC, pero está diseñada principalmente para operadores de nodos y software de wallet, no para consultas de direcciones de alto nivel. Muchos equipos descubren esto después de intentar consultar el saldo de una dirección y encontrar que getbalance solo devuelve el saldo de la propia wallet del nodo.

Usa esta tabla para asignar tu carga de trabajo al patrón de acceso adecuado.

Carga de trabajoQué necesitasPatrón de acceso recomendado
Enviar y recibir BTC desde una wallet custodialMétodos RPC de wallet, gestión de UTXOJSON-RPC de Bitcoin Core con wallet habilitada, o un nodo gestionado
Consultar saldos de direcciones e historial de transaccionesIndexación de direccionesAPI indexada o proveedor gestionado con índice de direcciones
Difundir transacciones en brutosendrawtransactionCualquier nodo Bitcoin Core, público o dedicado
Monitorizar la mempool y las estimaciones de comisionesgetmempoolinfo, estimatesmartfeeNodo Bitcoin Core con acceso a la mempool
Crear un explorador de bloquesDatos completos de bloques y transaccionesNodo de archivo o API indexada
Ejecutar un nodo de Lightning NetworkBitcoin Core con txindex y ZMQNodo dedicado con configuración personalizada

Si tu carga de trabajo es intensiva en lectura y centrada en direcciones, una API RPC gestionada con indexación suele ser la vía más rápida. Si necesitas control total sobre la configuración del nodo, el estado de la wallet o las notificaciones ZMQ, un nodo Bitcoin dedicado encaja mejor. OnFinality ofrece tanto acceso a la API RPC como nodos dedicados para redes compatibles, incluida Bitcoin.

JSON-RPC de Bitcoin Core: qué es y qué no es

Bitcoin Core incluye un servidor JSON-RPC que escucha en el puerto 8332 por defecto para mainnet. Admite una amplia gama de métodos para datos de blockchain, transacciones en bruto, inspección de mempool y operaciones de wallet. Sin embargo, no es un indexador de propósito general. Métodos como getblock, getrawtransaction y gettxout funcionan como se espera, pero no existe un método nativo getAddressBalance ni getAddressHistory.

Para consultar datos a nivel de dirección, o ejecutas un indexador junto a Bitcoin Core (como un servidor Electrum, Esplora o un índice personalizado) o usas un proveedor que ya haya construido esa capa de indexación. Esta es la fuente de confusión más común para los desarrolladores que vienen de RPC al estilo Ethereum.

Una solicitud JSON-RPC básica a un nodo Bitcoin tiene este aspecto:

curl --user "rpcuser:rpcpassword" \
  --data-binary '{"jsonrpc":"1.0","id":"onf","method":"getblockchaininfo","params":[]}' \
  -H 'content-type: text/plain;' \
  http://127.0.0.1:8332/

La respuesta incluye la altura de la cadena, el progreso de verificación y el estado de los softforks. Para un endpoint gestionado, sustituye la URL local por el endpoint proporcionado por tu proveedor de infraestructura y usa el método de autenticación que especifique.

Configuración de la cadena y del nodo de un vistazo

Los parámetros de red de Bitcoin son estables, pero deberías confirmarlos antes de conectar cualquier herramienta. La siguiente tabla resume los valores por defecto de mainnet.

ConfiguraciónValor en mainnetNotas
Puerto RPC8332Por defecto en Bitcoin Core
Puerto P2P8333Red peer-to-peer
Prefijo de dirección1, 3, bc1Legacy, P2SH y Bech32
Tiempo de bloque~10 minutosIntervalo objetivo
Guía de confirmaciones1–6 bloquesDepende del valor y el riesgo
Chain IDN/ABitcoin no usa chain IDs de EVM

Para testnet, el puerto RPC es 18332 y las direcciones usan prefijos diferentes. Si estás probando una integración, usa testnet o signet antes de pasar a mainnet. La página de la red Bitcoin de OnFinality enumera las opciones de acceso compatibles y la disponibilidad de testnet.

Endpoints públicos vs RPC gestionado vs nodos dedicados

Una vez que conoces tu carga de trabajo, la siguiente decisión es cuánta infraestructura quieres operar. Los endpoints públicos de Bitcoin son útiles para experimentos rápidos, pero a menudo limitan la tasa de solicitudes, carecen de indexación de direcciones y no ofrecen garantías de disponibilidad. Los proveedores de RPC gestionado añaden autenticación, monitorización y soporte, mientras que los nodos dedicados te dan una instancia privada con configuración personalizada.

OpciónControlIndexación de direccionesCarga operativaIdeal para
Endpoint públicoBajoRara vezNingunaPrototipos y scripts puntuales
API RPC gestionada (p. ej., OnFinality)MedioDepende del proveedorBajaAplicaciones en producción que necesitan fiabilidad y soporte
Nodo Bitcoin dedicadoAltoTú lo configurasAltaIndexación personalizada, RPC de wallet, ZMQ, Lightning

La API RPC gestionada de OnFinality está diseñada para equipos que quieren un endpoint estable sin ejecutar un nodo completo. Si necesitas RPC de wallet, ajustes personalizados de bitcoin.conf o notificaciones de bloques ZMQ, un nodo dedicado es la opción adecuada. Puedes revisar los precios de RPC para comparar opciones según tu volumen de solicitudes previsto.

Conexión y autenticación a un endpoint RPC de Bitcoin

Bitcoin Core usa autenticación básica HTTP por defecto. Cuando te conectas a un endpoint gestionado, el proveedor suministra credenciales o una clave de API. El siguiente ejemplo muestra un patrón de conexión genérico usando variables de entorno, que puedes adaptar a las credenciales de tu proveedor.

const axios = require('axios');

const rpcUrl = process.env.BITCOIN_RPC_URL; // e.g., https://your-endpoint.example.com
const rpcUser = process.env.BITCOIN_RPC_USER;
const rpcPass = process.env.BITCOIN_RPC_PASS;

async function callBitcoinRpc(method, params = []) {
  const response = await axios.post(
    rpcUrl,
    { jsonrpc: '1.0', id: 'onf', method, params },
    {
      auth: { username: rpcUser, password: rpcPass },
      headers: { 'content-type': 'text/plain;' },
    }
  );
  return response.data.result;
}

callBitcoinRpc('getblockcount').then(console.log);

Para proveedores basados en clave de API, sustituye el objeto auth por la cabecera requerida, como Authorization: Bearer <token>. Mantén siempre las credenciales fuera del código del lado del cliente y rótalas si se exponen.

Modos de fallo comunes y cómo depurarlos

Los errores de RPC de Bitcoin suelen ser explícitos, pero la causa puede no ser obvia. La siguiente tabla asigna síntomas comunes a posibles soluciones.

SíntomaCausa probableSolución
-32601 Method not foundMétodo no habilitado o tipo de nodo incorrectoComprueba bitcoin.conf o la compatibilidad de métodos del proveedor
-28 Loading block indexEl nodo aún se está sincronizandoEspera a que termine la descarga inicial de bloques
-5 Invalid addressRed incorrecta (mainnet vs testnet)Verifica el prefijo de dirección y la red del nodo
-25 General error en sendrawtransactionFaltan entradas o comisión demasiado bajaReconstruye la transacción y comprueba la mempool
Conexión rechazadaEl servidor RPC no escucha o hay un firewallConfirma server=1 y el enlace de puerto
401 UnauthorizedCredenciales incorrectasRevisa el nombre de usuario, la contraseña o la clave de API

Si usas un proveedor gestionado, empieza por confirmar que el método que necesitas es compatible. Algunos proveedores exponen solo un subconjunto de los métodos de Bitcoin Core. La documentación y los canales de soporte de OnFinality pueden confirmar la disponibilidad de métodos para tu plan.

Cuándo usar un proveedor de RPC de Bitcoin gestionado

Un proveedor gestionado tiene sentido cuando tu equipo quiere centrarse en la lógica de la aplicación en lugar de en las operaciones del nodo. Ejecutar un nodo completo de Bitcoin requiere espacio en disco, ancho de banda, tiempo de sincronización inicial y monitorización continua. Para equipos sin personal dedicado a infraestructura, un endpoint gestionado reduce el riesgo operativo.

OnFinality proporciona acceso a la API RPC e infraestructura de nodos dedicados para una variedad de redes. Para Bitcoin, puedes usar la API gestionada para llamadas JSON-RPC estándar, o solicitar un nodo dedicado si necesitas configuración personalizada. Revisa las redes RPC compatibles para ver la disponibilidad y los precios de RPC para los detalles del plan. Si aún estás evaluando proveedores, la guía sobre cómo elegir un proveedor de RPC cubre criterios como compatibilidad de métodos, failover y monitorización.

Puntos clave

  • Bitcoin usa JSON-RPC a través de Bitcoin Core, no RPC al estilo EVM; las consultas a nivel de dirección requieren un indexador o un proveedor con indexación.
  • Confirma la configuración de la cadena, como el puerto RPC 8332 para mainnet y los prefijos de dirección, antes de conectarte.
  • Los endpoints públicos sirven para prototipos; las APIs RPC gestionadas y los nodos dedicados son mejores para cargas de trabajo en producción.
  • La autenticación suele ser autenticación básica HTTP o una clave de API; mantén las credenciales en el lado del servidor.
  • Errores comunes como -32601 y -28 suelen indicar disponibilidad de métodos o estado de sincronización.
  • OnFinality ofrece API RPC gestionada y opciones de nodos dedicados para Bitcoin; consulta la página de la red Bitcoin para más detalles.

Preguntas frecuentes

¿Bitcoin usa JSON-RPC?

Sí. Bitcoin Core expone una interfaz JSON-RPC para operaciones de nodo, funciones de wallet y consultas de blockchain. No es lo mismo que el JSON-RPC de Ethereum y no incluye indexación de direcciones por defecto.

¿Puedo consultar el saldo de una dirección con RPC de Bitcoin?

No directamente con un nodo estándar de Bitcoin Core. Necesitas un indexador o un proveedor que ofrezca APIs a nivel de dirección. Algunos servicios gestionados incluyen esta capa de indexación.

¿Qué puerto usa RPC de Bitcoin?

Mainnet usa el puerto 8332 por defecto. Testnet usa 18332. Los proveedores gestionados pueden usar HTTPS en el puerto 443.

¿Cómo difundo una transacción de Bitcoin?

Usa el método sendrawtransaction con el hex de una transacción en bruto firmada. El nodo la validará y la retransmitirá a la red.

¿Es mejor un nodo Bitcoin dedicado que un endpoint compartido?

Depende de tu carga de trabajo. Los nodos dedicados te dan control total sobre la configuración, el estado de la wallet y la indexación, pero requieren más esfuerzo operativo. Los endpoints gestionados compartidos son más sencillos para operaciones estándar de lectura y difusión.

¿Dónde puedo encontrar los detalles de RPC de Bitcoin de OnFinality?

Visita la página de la red Bitcoin para ver las opciones de acceso compatibles, o revisa los precios de RPC y las redes RPC compatibles.

Base de conocimiento RPC

Detalles RPC relacionados

Nunca te preocupes por la infraestructura nuevamente

OnFinality elimina la carga pesada de DevOps para que puedas construir de forma más inteligente y rápida.

Comenzar