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

BNB Smart Chain RPC: Configuración de Endpoint, Chain ID y Depuración

Resumen

BNB Smart Chain (BSC) expone una interfaz JSON-RPC compatible con EVM, por lo que la mayoría de las herramientas de Ethereum funcionan después de apuntarlas a un endpoint de BSC y establecer el chain ID 56. Esta página cubre el formato del endpoint, la configuración de wallets y librerías, los métodos que importan para las aplicaciones de BSC y cómo depurar los fallos que es más probable que encuentres.

Puedes empezar contra el endpoint público de OnFinality para pruebas rápidas, luego pasar a una RPC API gestionada o a un nodo dedicado cuando necesites un rendimiento predecible, acceso a archive o suscripciones WebSocket para tráfico de producción.

BNB Smart Chain (BSC) habla el mismo dialecto JSON-RPC que Ethereum, por lo que la mayoría de los desarrolladores pueden conectar herramientas EVM existentes con solo cambiar una URL. La fricción suele aparecer después: una wallet que apunta silenciosamente a la red incorrecta, una llamada eth_getLogs que expira o una suscripción WebSocket que se cae bajo carga. Esta página te da primero la configuración del endpoint, luego la ruta de depuración y los puntos de decisión para producción.

Configuración de la red de un vistazo

Usa estos valores cuando agregues BSC a una wallet, una librería o una configuración de backend. Coinciden con los parámetros EVM canónicos de la red.

ConfiguraciónBNB Smart Chain mainnetBNB Chain testnet
Chain ID5697
Nombre de la redBNB Smart Chain MainnetBNB Smart Chain Testnet
Moneda nativaBNB (18 decimales)tBNB (18 decimales)
Explorador de bloqueshttps://bscscan.comhttps://testnet.bscscan.com
TransporteHTTP, WebSocketHTTP
Endpoint público de OnFinalityhttps://bnb.api.onfinality.io/publichttps://bnb-testnet.api.onfinality.io/public

Si estás construyendo en testnet, mantén las dos configuraciones separadas en tu base de código. Una cantidad sorprendente de informes de "transacción fallida" provienen de usar una clave privada de testnet contra un endpoint de mainnet, o al revés.

Elige el tipo de conexión correcto antes de escribir código

Antes de copiar un endpoint, decide qué tipo de conexión necesita realmente tu aplicación. Esta es la elección que determina el costo y la confiabilidad más que cualquier logotipo de proveedor.

  • Endpoint público compartido — sirve para scripts, prototipos, pruebas de wallet y lecturas de bajo volumen. No está diseñado para tráfico de producción sostenido ni para consultas de logs grandes.
  • RPC API gestionada — un endpoint con clave, límites más altos, monitoreo y soporte. La opción predeterminada adecuada para la mayoría de dApps, bots y backends. Consulta Precios de RPC para ver los planes.
  • Nodo dedicado — tu propio nodo BSC detrás de un endpoint privado. Elige esto cuando necesites rendimiento constante, historial de archive, métodos trace/debug o aislamiento de otros inquilinos. Consulta nodos dedicados.

Una regla rápida: si tu aplicación puede tolerar reintentos ocasionales y no ejecutas cargas pesadas de eth_getLogs o WebSocket, una RPC API gestionada suele ser suficiente. Si estás indexando, ejecutando un bot de trading o necesitas estado histórico, planifica infraestructura dedicada.

Configura BSC en wallets y librerías

Configuración de red en wallet

La mayoría de las wallets EVM aceptan un objeto de red personalizado. Los campos a continuación son los que importan:

{
  "chainId": "0x38",
  "chainName": "BNB Smart Chain Mainnet",
  "nativeCurrency": { "name": "BNB", "symbol": "BNB", "decimals": 18 },
  "rpcUrls": ["https://bnb.api.onfinality.io/public"],
  "blockExplorerUrls": ["https://bscscan.com"]
}

Ten en cuenta que chainId está en hexadecimal (0x38 = 56). Las wallets que rechazan la red suelen hacerlo porque el chain ID está en decimal o la URL del RPC no es accesible.

viem / ethers

Ambas librerías funcionan con BSC una vez que proporcionas el chain ID y el transporte:

import { createPublicClient, http } from 'viem';
import { bsc } from 'viem/chains';

const client = createPublicClient({
  chain: bsc,
  transport: http('https://bnb.api.onfinality.io/public')
});

const block = await client.getBlockNumber();
console.log('BSC head:', block);

Para ethers v6, pasa la misma URL a JsonRpcProvider y confirma que el network.chainId reportado sea 56n antes de enviar transacciones.

Verificación JSON-RPC directa

Cuando algo va mal, prueba el endpoint directamente antes de culpar a tu aplicación:

curl -s https://bnb.api.onfinality.io/public \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

Una respuesta saludable devuelve "result":"0x38". Si obtienes un timeout o una página de error HTML, el problema es el endpoint o la ruta de red, no tu llamada al contrato.

Métodos que se comportan de manera diferente en BSC

BSC es compatible con EVM, pero algunos métodos merecen atención porque son fuentes comunes de problemas en producción.

MétodoUso típicoCuidado con
eth_getLogsIndexación de eventos, rellenosLos rangos de bloques amplios pueden expirar en endpoints compartidos; divide el rango
eth_callLectura de contratosFalla si el bloque objetivo está podado en nodos no archive
eth_getBalanceSaldos de walletLos saldos históricos necesitan acceso a archive
eth_subscribeEventos en tiempo realRequiere transporte WebSocket; no todos los endpoints lo exponen
debug_traceTransactionDepuración profundaGeneralmente solo disponible en nodos dedicados/archive
eth_sendRawTransactionDifusiónLos rechazos a menudo significan problemas de nonce o gas, no fallo del RPC

Si tu carga de trabajo depende de las últimas tres filas, confirma el soporte antes de comprometerte con un proveedor. La página de BNB Smart Chain de OnFinality lista los detalles de transporte y endpoint para la red.

Ruta de depuración para fallos comunes de BSC RPC

Trabaja a través de estos síntomas en orden. La mayoría de los problemas se resuelven en los primeros dos pasos.

SíntomaCausa probablePrimera solución
chainId no coincideRed incorrecta en wallet o configuraciónVerifica 0x38 (mainnet) o 0x61 (testnet)
Timeout de eth_getLogsRango de bloques demasiado amplioDivide en rangos más pequeños y pagina
nonce too lowTransacción pendiente o nonce reutilizadoVuelve a leer eth_getTransactionCount con pending
insufficient fundsPico de precio de gas o token incorrectoVerifica el saldo de BNB y el precio de gas actual
Desconexiones de WebSocketTimeout por inactividad o transporte inestableAgrega lógica de reconexión y heartbeat
method not foundEl endpoint carece de trace/debugPasa a un nodo dedicado con esos métodos habilitados
Resultado vacío de eth_callEstado podado en ese bloqueUsa un endpoint con capacidad de archive

Un hábito útil: registra la URL del endpoint y el chain ID junto a cada solicitud fallida. Marca la diferencia entre una solución de cinco minutos y una tarde de conjeturas.

Cuándo pasar de un endpoint público a gestionado o dedicado

Los endpoints públicos son un buen punto de partida, pero son compartidos. Tan pronto como tu tráfico se vuelve impredecible, empiezas a competir por capacidad con todos los demás en la misma URL. Las señales a observar:

  • Aumento de respuestas de límite de tasa durante horas pico.
  • eth_getLogs o consultas de archive fallando intermitentemente.
  • Suscripciones WebSocket cayéndose sin una causa de red clara.
  • Necesidad de métodos trace/debug que los endpoints públicos no exponen.

En ese punto, una RPC API gestionada te da un endpoint con clave con límites más claros y monitoreo, mientras que un nodo dedicado te da capacidad aislada y control sobre qué métodos e historial están disponibles. OnFinality ofrece ambos como parte de su servicio de RPC API, y puedes comparar los planes en la página de precios.

Lista de verificación operativa antes de lanzar

  • Fija el chain ID y el endpoint en la configuración, no en constantes dispersas.
  • Agrega un endpoint de respaldo para que la caída de un solo proveedor no derribe la aplicación.
  • Divide las llamadas a eth_getLogs y limita el rango de bloques por solicitud.
  • Implementa lógica de reconexión para suscripciones WebSocket.
  • Monitorea tasas de error y latencia por método, no solo el uptime general.
  • Mantén las configuraciones de testnet y mainnet estrictamente separadas.
  • Confirma los requisitos de archive y trace temprano si planeas indexar historial.

Puntos clave

  • BNB Smart Chain usa el chain ID 56 (mainnet) y 97 (testnet), con BNB como moneda nativa.
  • El endpoint público de OnFinality https://bnb.api.onfinality.io/public es adecuado para pruebas; las cargas de trabajo de producción generalmente necesitan un endpoint gestionado o dedicado.
  • eth_getLogs, las lecturas de archive y las suscripciones WebSocket son los métodos con más probabilidades de forzar una actualización de infraestructura.
  • La mayoría de los "errores de RPC" son en realidad problemas de chain ID, nonce o gas — verifícalos antes de cambiar de proveedor.
  • Usa la página de la red BNB Smart Chain y la lista de redes compatibles para confirmar los detalles del endpoint y el transporte.

Preguntas frecuentes

¿Cuál es la URL del RPC para BNB Smart Chain?

El endpoint público de OnFinality es https://bnb.api.onfinality.io/public. Para producción, usa un endpoint gestionado con clave o una URL de nodo dedicado desde el panel de tu proveedor.

¿Cuál es el chain ID de BNB Smart Chain?

Mainnet es 56 (0x38). Testnet es 97 (0x61).

¿BSC admite RPC por WebSocket?

Sí, BSC admite transporte WebSocket, que necesitas para eth_subscribe. Confirma que tu endpoint elegido exponga WS antes de depender de él.

¿Por qué mi llamada a eth_getLogs expira en BSC?

BSC produce bloques rápidamente, por lo que los rangos de bloques amplios generan grandes conjuntos de resultados. Divide el rango y pagina. Si aún falla, es posible que necesites un endpoint dedicado con límites más altos.

¿Puedo usar herramientas de Ethereum con BSC?

Sí. BSC es compatible con EVM, por lo que viem, ethers, Hardhat y Foundry funcionan una vez que estableces el chain ID y la URL del RPC.

¿Necesito un nodo archive para BSC?

Solo si consultas estado histórico o saldos en bloques antiguos. Los nodos estándar podan esos datos, por lo que el acceso a archive requiere un proveedor que lo ofrezca.

Próximos pasos

Si aún estás prototipando, comienza con el endpoint público y los fragmentos de configuración anteriores. Si te estás preparando para producción, revisa cómo elegir un proveedor de RPC, luego compara las opciones de precios de RPC y nodo dedicado para BSC. Para trabajo en testnet, la página de BNB Chain Testnet tiene la configuración correspondiente.

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