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

¿Qué es una URL RPC de Smart Chain y cómo me conecto a BNB Smart Chain?

Resumen

Una URL RPC de Smart Chain es el endpoint HTTP o WebSocket que tu billetera, dApp o backend utiliza para leer el estado de BNB Smart Chain y transmitir transacciones. Transporta llamadas JSON-RPC como eth_blockNumber, eth_getBalance y eth_sendRawTransaction a un nodo que está sincronizado con la red.

Esta página cubre la configuración de mainnet y testnet de BNB Smart Chain que necesitas para configurar tu billetera, proporciona un ejemplo funcional con curl y JavaScript, y explica cuándo un endpoint público es suficiente frente a cuándo una API RPC gestionada o un nodo dedicado es la mejor opción para tráfico de producción.

Cuando los desarrolladores buscan una "URL RPC de Smart Chain", normalmente se refieren a BNB Smart Chain (BSC) y necesitan una de tres cosas: una URL para pegar en una billetera, un bloque de configuración de cadena para una dApp, o un endpoint confiable para tráfico de backend. Esta página responde a las tres, y luego explica cómo decidir entre un endpoint público y una infraestructura gestionada.

Configuración de la cadena de un vistazo

BNB Smart Chain es una red compatible con EVM, por lo que cualquier herramienta que hable JSON-RPC de Ethereum funciona con ella. La única diferencia es la URL del endpoint, el ID de cadena y el token nativo. Aquí están los valores que necesitas para mainnet y testnet.

ConfiguraciónBNB Smart Chain MainnetBNB Chain Testnet
ID de cadena5697
Nombre de la cadenaBNB Smart Chain MainnetBNB Smart Chain Testnet
Moneda nativaBNB (18 decimales)tBNB (18 decimales)
Explorador de bloqueshttps://bscscan.comhttps://testnet.bscscan.com
RPC público de OnFinalityhttps://bnb.api.onfinality.io/publichttps://bnb-testnet.api.onfinality.io/public
TransportesHTTP, WebSocketHTTP

Si estás configurando una billetera, usa la fila de mainnet. Si estás probando un contrato antes del despliegue, usa la fila de testnet y financia tu dirección desde un faucet de testnet de BNB Chain. El ID de cadena es lo que evita que una billetera firme una transacción de mainnet contra un endpoint de testnet, así que mantén los dos conjuntos de valores separados en tu configuración.

Recomendación rápida: ¿endpoint público o RPC gestionado?

La mayoría de los lectores pueden empezar con un endpoint público y seguir adelante. La decisión solo se vuelve interesante cuando el tráfico crece o cuando una sola solicitud comienza a fallar.

  • Usa una URL RPC pública para configurar billeteras, scripts puntuales, prototipos de hackathon y llamadas de lectura de bajo volumen. Los endpoints públicos de OnFinality anteriores son adecuados para esto y no requieren clave.
  • Usa una API RPC gestionada cuando tengas un frontend o backend que envíe tráfico constante, necesite suscripciones WebSocket o necesite métodos de archivo y trace. Un proveedor gestionado se encarga de las actualizaciones de nodos, la sincronización y el failover para que tú no tengas que hacerlo.
  • Usa un nodo dedicado cuando necesites capacidad predecible, configuración personalizada o aislamiento del tráfico de otros inquilinos. Esto es común para exchanges, indexadores y bots de alto rendimiento.

Si no estás seguro de en qué categoría encajas, la guía de selección de proveedor de RPC repasa los criterios de evaluación con más detalle. Para ver rápidamente lo que OnFinality ofrece específicamente en BSC, consulta la página de la red BNB Smart Chain.

Conexión con curl y JavaScript

La forma más rápida de confirmar que un endpoint funciona es una sola llamada JSON-RPC. Esta le pide al nodo el número de bloque más reciente.

curl -X POST https://bnb.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Una respuesta saludable se ve así: {"jsonrpc":"2.0","id":1,"result":"0x2a1f3c4"}. El resultado está codificado en hexadecimal, así que conviértelo a decimal para compararlo con el bloque actual en BscScan. Si el número está muy por detrás del explorador, estás hablando con un nodo que aún se está sincronizando.

En JavaScript, la misma llamada a través de una biblioteca es normalmente lo que hará tu aplicación:

import { JsonRpcProvider, formatEther } from "ethers";

const provider = new JsonRpcProvider("https://bnb.api.onfinality.io/public");

const blockNumber = await provider.getBlockNumber();
const balance = await provider.getBalance("0xYourAddressHere");

console.log("Block:", blockNumber);
console.log("Balance:", formatEther(balance), "BNB");

Para suscripciones WebSocket como newHeads o logs, cambia el transporte a wss:// contra un proveedor que lo admita. BNB Smart Chain mainnet admite tanto HTTP como WebSocket en OnFinality, mientras que el endpoint de testnet es solo HTTP, así que planifica tu código de suscripción en consecuencia.

Agregar BNB Smart Chain a una billetera

La mayoría de las billeteras aceptan un formulario de red personalizada. Los campos se asignan directamente a la tabla anterior:

Network name: BNB Smart Chain
RPC URL:      https://bnb.api.onfinality.io/public
Chain ID:     56
Symbol:       BNB
Explorer:     https://bscscan.com

Dos errores son comunes aquí. Primero, ingresar el ID de cadena como una cadena decimal en un campo que espera un número, o viceversa en código que espera hexadecimal. Segundo, copiar una URL RPC de testnet pero dejar el ID de cadena en 56. Si una billetera muestra un saldo de cero para una dirección que sabes que tiene BNB, verifica el ID de cadena antes que cualquier otra cosa.

Modos de fallo comunes y cómo interpretarlos

Cuando una URL RPC deja de comportarse correctamente, el error generalmente apunta a la causa. Esta tabla asigna síntomas a posibles soluciones.

SíntomaCausa probableQué probar
429 Too Many RequestsLímite de tasa del endpoint públicoCambiar a una API RPC gestionada o nodo dedicado
eth_getLogs devuelve resultados parcialesRango de bloques demasiado amplio para el endpointReducir el rango o usar un proveedor con capacidad de archivo
Transacciones atascadas como pendientesProblema de nonce o precio de gas, no de la URLVerificar el manejo de nonce y la configuración de gas
method not foundMétodo no habilitado en ese endpointConfirmar soporte de trace/debug con tu proveedor
Desconexiones de WebSocketTiempo de espera inactivo o transporte no soportadoLógica de reconexión, o confirmar soporte de wss://
Número de bloque muy por detrásNodo aún sincronizandoCambiar endpoint o esperar la sincronización

Observa que solo algunos de estos se relacionan realmente con la URL. Una transacción atascada o un nonce incorrecto es un error de la aplicación, no un problema del endpoint. Antes de rotar endpoints, confirma que el fallo está del lado del transporte.

Qué cambia a escala de producción

Un endpoint público es compartido. Eso está bien hasta que tu tráfico crece, momento en el que empiezas a competir con otros usuarios por la misma capacidad. Los síntomas son sutiles al principio: respuestas lentas ocasionales, luego 429 intermitentes, luego solicitudes fallidas durante la congestión de la red.

Las API RPC gestionadas abordan esto dándote un endpoint con clave, límites más altos y una vía de soporte. Los nodos dedicados van más allá al dar a tu carga de trabajo su propio nodo, lo cual importa cuando necesitas rendimiento constante, datos de archivo o métodos de trace que los endpoints compartidos a menudo restringen.

OnFinality proporciona tanto acceso a API RPC gestionada como infraestructura de nodo dedicado en una variedad de redes, incluida BNB Smart Chain. Puedes revisar los precios de RPC para comparar niveles y ver la lista completa de redes RPC compatibles si tu aplicación abarca más de una cadena.

Puntos de control de migración

Si estás pasando de un endpoint público a uno gestionado o dedicado, revisa estos puntos de control para que el cambio no rompa nada:

  1. Inventario de tus métodos. Enumera cada método JSON-RPC que llama tu aplicación. Marca cualquier llamada de trace, debug o archivo, ya que son las que más probablemente necesiten un nivel diferente.
  2. Verifica las necesidades de transporte. Si usas suscripciones WebSocket, confirma que el nuevo endpoint admite wss:// antes de hacer el cambio.
  3. Prueba primero en testnet. Apunta un entorno de staging al endpoint de testnet de BNB Chain y ejecuta tus pruebas de integración allí.
  4. Agrega failover. Configura un endpoint secundario para que una caída de un solo proveedor no derribe tu aplicación.
  5. Monitorea después del cambio. Rastrea tasas de error, latencia y retraso de bloques durante los primeros días y compáralos con tu línea base.

Una sonda de monitoreo simple puede detectar problemas temprano:

# Run on a schedule; alert if the block number stops advancing
curl -s -X POST https://bnb.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Si el número de bloque devuelto es el mismo en dos verificaciones consecutivas separadas por un minuto, el endpoint o el nodo detrás de él pueden estar estancados. Esa es una señal útil para hacer failover antes de que tus usuarios lo noten.

Puntos clave

  • Una URL RPC de Smart Chain es el endpoint que tu billetera o aplicación usa para comunicarse con BNB Smart Chain a través de JSON-RPC.
  • Mainnet usa el ID de cadena 56 y el token BNB; testnet usa el ID de cadena 97 y tBNB.
  • Los endpoints públicos de OnFinality son https://bnb.api.onfinality.io/public para mainnet y https://bnb-testnet.api.onfinality.io/public para testnet.
  • Los endpoints públicos son suficientes para billeteras y prototipos; las API RPC gestionadas y los nodos dedicados son la mejor opción para tráfico de producción constante.
  • Muchos "errores de RPC" son en realidad errores de la aplicación, como problemas de nonce o gas, así que diagnostica antes de rotar endpoints.
  • Al migrar, haz un inventario de tus métodos, confirma el soporte de transporte, prueba en testnet y agrega failover.

Preguntas frecuentes

¿La URL RPC de Smart Chain es la misma que la URL RPC de BSC?

Sí. "Smart Chain" y "BSC" se refieren a la misma red, BNB Smart Chain. Cualquier endpoint etiquetado como BSC o BNB Chain funciona, siempre que el ID de cadena coincida.

¿Qué ID de cadena debo usar?

Usa 56 para BNB Smart Chain mainnet y 97 para BNB Chain testnet. Mezclarlos causa errores de firma y saldo.

¿Puedo usar el endpoint público en producción?

Puedes, pero los endpoints públicos son compartidos y pueden limitar la tasa bajo carga. Para aplicaciones en producción, una API RPC gestionada o un nodo dedicado te da capacidad más predecible y una vía de soporte.

¿BNB Smart Chain admite WebSocket?

Mainnet admite HTTP y WebSocket en OnFinality. El endpoint de testnet es solo HTTP, así que planifica las suscripciones en consecuencia.

¿Por qué eth_getLogs devuelve resultados incompletos?

Los rangos de bloques grandes a menudo exceden lo que un endpoint compartido servirá en una sola llamada. Reduce el rango o usa un proveedor que admita consultas de logs de archivo y rango amplio.

¿Dónde obtengo BNB de testnet?

Usa un faucet de testnet de BNB Chain para financiar tu dirección con tBNB antes de desplegar o probar contratos.

Próximos pasos

Si estás configurando una billetera o un script rápido, copia la URL de mainnet de la tabla anterior y listo. Si estás ejecutando una aplicación en producción en BNB Smart Chain, revisa los precios de RPC para elegir un nivel, consulta las opciones de nodo dedicado si necesitas aislamiento, y explora las redes RPC compatibles si tu aplicación toca más de una cadena.

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