Logo
RPC Assistant

RPC de BNB Chain: Cómo conectarse, configurar y elegir un endpoint

Resumen

Los endpoints RPC de BNB Chain permiten que las aplicaciones lean y escriban datos en BNB Smart Chain. Este artículo explica la configuración de la cadena, cómo agregar BNB Chain a una billetera y cómo evaluar proveedores de RPC para cargas de trabajo de producción.

Guía rápida de decisión: ¿Qué RPC de BNB Chain deberías usar?

Antes de copiar un endpoint en tu billetera o aplicación, decide qué necesitas del proveedor de RPC. Para interacciones simples con billeteras o uso ligero de dApps, un endpoint público puede ser suficiente. Para aplicaciones de producción que dependen de un rendimiento constante, baja latencia y acceso confiable a datos históricos, un servicio de RPC administrado o un nodo dedicado suele ser una opción más segura.

Hazte estas preguntas:

  • ¿Necesitas manejar altos volúmenes de solicitudes? Los endpoints públicos a menudo tienen límites de tasa que pueden limitar tu aplicación. Si esperas picos de tráfico, es mejor un proveedor con planes escalables.
  • ¿Necesitas soporte de WebSocket para actualizaciones en tiempo real? Muchos endpoints públicos ofrecen WebSocket, pero la confiabilidad puede variar. Para bots de trading o paneles en vivo, se recomienda un proveedor con soporte dedicado de WebSocket.
  • ¿Necesitas datos de archivo o métodos de rastreo? Si tu aplicación consulta estados históricos o usa debug_traceTransaction, necesitas un nodo de archivo. No todos los proveedores ofrecen datos de archivo, y generalmente cuestan más.
  • ¿Necesitas cumplir con requisitos de privacidad de datos o geográficos? Algunos proveedores ofrecen endpoints en regiones específicas o con funciones de privacidad. Considera dónde se encuentran tus usuarios.

Si estás construyendo una aplicación de producción, evalúa a los proveedores según el tiempo de actividad, el rendimiento y el soporte. OnFinality ofrece endpoints RPC administrados para BNB Chain y muchas otras redes, con precios flexibles y una lista de redes compatibles.

Configuración de red de BNB Chain de un vistazo

BNB Smart Chain (BSC) es una blockchain compatible con EVM, por lo que usa la misma interfaz JSON-RPC que Ethereum. Estos son los parámetros clave de red que necesitas para configurar una billetera o aplicación:

ParámetroValor
Nombre de redBNB Smart Chain Mainnet
Chain ID56 (0x38)
Símbolo de monedaBNB
Explorador de bloqueshttps://bscscan.com
URL RPC (pública)https://bsc-dataseed.bnbchain.org
URL WebSocket (pública)wss://bsc-ws-node.nariber.org

Para la testnet, el Chain ID es 97 (0x61) y el explorador es https://testnet.bscscan.com. Puedes encontrar más detalles en la página de testnet de BNB Chain.

Agregar BNB Chain a MetaMask u otras billeteras

Para interactuar con dApps de BNB Chain, necesitas agregar la red a tu billetera. Así es como se hace manualmente en MetaMask:

  1. Abre MetaMask y haz clic en el menú desplegable de redes en la parte superior.
  2. Haz clic en Agregar red.
  3. Completa los detalles de la red:
    • Nombre de red: BNB Smart Chain
    • Nueva URL RPC: https://bsc-dataseed.bnbchain.org
    • Chain ID: 56
    • Símbolo de moneda: BNB
    • URL del explorador de bloques: https://bscscan.com
  4. Haz clic en Guardar.

También puedes usar ChainList para agregar la red automáticamente. Visita chainlist.org/chain/56 y conecta tu billetera.

Haciendo tu primera solicitud JSON-RPC

Una vez que tengas un endpoint, puedes probarlo con un simple comando curl. El siguiente ejemplo envía una solicitud eth_blockNumber al RPC público de BNB Chain:

curl -X POST https://bsc-dataseed.bnbchain.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

Deberías recibir una respuesta como:

{"jsonrpc":"2.0","id":1,"result":"0x6d8b8a"}

El resultado es el número de bloque actual en hexadecimal. Puedes convertirlo a decimal usando parseInt(result, 16) en JavaScript.

Usando RPC de BNB Chain con ethers.js o viem

Para aplicaciones JavaScript, puedes usar bibliotecas como ethers.js o viem para conectarte a BNB Chain. Aquí hay un ejemplo usando ethers.js:

const { ethers } = require("ethers");

const provider = new ethers.JsonRpcProvider("https://bsc-dataseed.bnbchain.org");

async function getBlockNumber() {
  const blockNumber = await provider.getBlockNumber();
  console.log("Current block number:", blockNumber);
}

getBlockNumber();

Con viem:

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

const client = createPublicClient({
  chain: bsc,
  transport: http('https://bsc-dataseed.bnbchain.org')
});

const blockNumber = await client.getBlockNumber();
console.log(blockNumber);

Entendiendo los límites de tasa y los endpoints públicos

Los endpoints públicos de BNB Chain son gratuitos pero tienen límites de tasa. La documentación oficial establece un límite de 10,000 solicitudes por 5 minutos por IP. Además, eth_getLogs está deshabilitado en algunos endpoints públicos para prevenir abusos. Si tu aplicación depende de la obtención de logs, debes usar un proveedor que soporte este método o usar suscripciones WebSocket para recibir nuevos logs en tiempo real.

Los endpoints públicos también pueden congestionarse durante alta actividad de red, lo que lleva a respuestas más lentas o tiempos de espera. Para aplicaciones de producción, depender únicamente de endpoints públicos es arriesgado.

Evaluando proveedores de RPC para BNB Chain

Al elegir un proveedor de RPC para BNB Chain, considera los siguientes criterios:

CriterioQué verificarPor qué importa
RendimientoLímites de solicitudes, capacidad de ráfagaEvita la limitación durante picos de tráfico
LatenciaDistribución geográfica, tiempos de respuestaAfecta la experiencia del usuario, especialmente para aplicaciones sensibles al tiempo
ConfiabilidadHistorial de tiempo de actividad, redundanciaAsegura que tu aplicación esté disponible
Acceso a datosDatos de archivo, métodos de rastreo, WebSocketNecesario para análisis, depuración y funciones en tiempo real
SoporteSLAs, documentación, comunidadAyuda a resolver problemas rápidamente
PreciosNivel gratuito, pago por uso, opciones dedicadasSe alinea con tu presupuesto y necesidades de escalado

OnFinality proporciona endpoints RPC administrados para BNB Chain con múltiples regiones y planes flexibles. Puedes ver la página de red de BNB Chain para más detalles, o explorar precios de RPC para encontrar un plan que se ajuste a tu carga de trabajo.

Errores comunes y solución de problemas

  • Chain ID incorrecto: Usar un Chain ID incorrecto (por ejemplo, 97 para testnet) hará que las transacciones fallen o se envíen a la red equivocada.
  • Límite de tasa: Si recibes 429 Too Many Requests, estás alcanzando el límite de tasa. Considera actualizar tu plan de proveedor o implementar caché.
  • eth_getLogs deshabilitado: Algunos endpoints públicos deshabilitan este método. Usa un proveedor que lo soporte o cambia a suscripciones WebSocket.
  • Caídas de conexión WebSocket: Si tu conexión WebSocket se cae con frecuencia, verifica la estabilidad de tu red y considera usar un proveedor con soporte dedicado de WebSocket.
  • Bloque no encontrado: Al consultar un bloque demasiado reciente, el nodo puede no haberlo sincronizado aún. Espera unos segundos y reintenta.

Cuándo considerar un nodo dedicado

Si tu aplicación requiere alto rendimiento, baja latencia o acceso a datos de archivo, un nodo dedicado de BNB Chain podría ser la opción correcta. Los nodos dedicados te dan acceso exclusivo al nodo, eliminando la contención con otros usuarios. Esto es especialmente importante para aplicaciones que procesan muchas transacciones o necesitan consultar grandes cantidades de datos históricos.

OnFinality ofrece servicios de nodos dedicados para BNB Chain y otras redes. Puedes elegir el hardware y la configuración que se adapte a tus necesidades, y escalar a medida que tu aplicación crezca.

Conclusiones clave

  • BNB Chain es una red compatible con EVM con Chain ID 56 y BNB como moneda nativa.
  • Los endpoints RPC públicos son gratuitos pero tienen límites de tasa y pueden deshabilitar ciertos métodos como eth_getLogs.
  • Para aplicaciones de producción, evalúa a los proveedores según rendimiento, latencia, confiabilidad, acceso a datos y soporte.
  • Usa WebSocket para datos en tiempo real y considera nodos de archivo para consultas históricas.
  • OnFinality proporciona opciones de RPC administrado y nodos dedicados para BNB Chain, con precios transparentes y una lista de redes compatibles.

Preguntas frecuentes

¿Cuál es la URL RPC de BNB Chain?

La URL RPC pública para la mainnet de BNB Smart Chain es https://bsc-dataseed.bnbchain.org. Para testnet, usa https://data-seed-prebsc-1-s1.bnbchain.org:8545.

¿Cómo agrego BNB Chain a MetaMask?

Ve a Configuración > Redes > Agregar red, e ingresa los detalles de la red: Chain ID 56, URL RPC https://bsc-dataseed.bnbchain.org, símbolo BNB y explorador https://bscscan.com.

¿Por qué falla mi solicitud RPC de BNB Chain?

Verifica tu conexión a internet, asegúrate de estar usando el endpoint correcto y verifica que no estés excediendo los límites de tasa. Si el problema persiste, prueba con un proveedor diferente.

¿Puedo usar WebSocket con BNB Chain?

Sí, BNB Chain soporta endpoints WebSocket. Por ejemplo, wss://bsc-ws-node.nariber.org es un endpoint WebSocket público. Para producción, considera un proveedor con soporte dedicado de WebSocket.

¿OnFinality soporta BNB Chain?

Sí, OnFinality proporciona endpoints RPC administrados para BNB Chain. Visita la página de red de BNB Chain para más información.

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