Resumen
Un nodo RPC de BNB es un servidor que expone la API JSON-RPC de BNB Smart Chain, permitiendo que carteras, dApps e indexadores lean el estado de la cadena y envíen transacciones. Esta guía explica la diferencia entre endpoints públicos y privados, cómo configurar tu aplicación para mainnet y testnet, y qué verificar al elegir infraestructura para cargas de trabajo de producción.
Guía rápida de decisión: ¿qué nodo RPC de BNB deberías usar?
Antes de copiar un endpoint en tu configuración, decide qué necesita realmente tu aplicación. La respuesta cambia dependiendo de si estás creando un prototipo, ejecutando una dApp de producción u operando un bot de trading de alta frecuencia.
- Prototipo o hackathon: un endpoint público es suficiente. Puedes comenzar en minutos sin una clave API. Solo ten en cuenta que los endpoints públicos a menudo limitan las solicitudes y pueden deshabilitar métodos costosos como
eth_getLogs. - dApp de producción con tráfico moderado: un proveedor de RPC gestionado te brinda límites de velocidad más altos, mejor confiabilidad y soporte. Pagas por solicitud o por mes, y obtienes un endpoint estable que puedes escalar.
- Cargas de trabajo de alto rendimiento o con muchos datos: considera un nodo dedicado. Obtienes tu propio nodo de BNB Smart Chain sin vecinos ruidosos, acceso completo a métodos como
eth_getLogsytrace_*, y la capacidad de ajustar el rendimiento.
Si estás evaluando proveedores, compáralos según los criterios en la matriz de evaluación de proveedores a continuación. Para un análisis más profundo, consulta nuestra guía sobre cómo elegir un proveedor de RPC.
¿Qué es un nodo RPC de BNB?
Un nodo RPC de BNB es un servidor que ejecuta el cliente de BNB Smart Chain (generalmente una bifurcación de go-ethereum) y expone la API JSON-RPC. Esta API permite que aplicaciones externas lean datos de la cadena de bloques (saldos, recibos de transacciones, estado de contratos) y envíen nuevas transacciones. Cuando conectas una cartera como MetaMask a BNB Smart Chain, en realidad la estás apuntando a un endpoint RPC.
BNB Smart Chain es una cadena compatible con EVM, por lo que admite los métodos JSON-RPC estándar de Ethereum (eth_blockNumber, eth_getBalance, eth_sendRawTransaction, etc.) además de algunas extensiones específicas de BSC. El ID de cadena es 56 para mainnet y 97 para testnet.
Configuración de red de un vistazo
Aquí están los parámetros clave de red que necesitas para configurar tu cartera o dApp:
| Parámetro | BNB Smart Chain Mainnet | BNB Smart Chain Testnet |
|---|---|---|
| ID de cadena | 56 (0x38) | 97 (0x61) |
| Moneda | BNB | tBNB |
| Explorador de bloques | BscScan | BscScan Testnet |
| RPC público | https://bsc-dataseed.bnbchain.org | https://data-seed-prebsc-1-s1.bnbchain.org:8545 |
| WebSocket | wss://bsc-ws-node.nariber.org | wss://data-seed-prebsc-1-s1.bnbchain.org:8546 |
Nota: Los endpoints públicos tienen límites de velocidad y pueden no admitir todos los métodos. Para producción, usa un proveedor gestionado o tu propio nodo.
Cómo conectarse a un nodo RPC de BNB
Configuración de cartera
Para agregar BNB Smart Chain a MetaMask u otra cartera, usa la configuración de red anterior. La mayoría de las carteras tienen un formulario "Agregar red" donde ingresas el ID de cadena, la URL RPC, el símbolo y la URL del explorador.
JavaScript (ethers.js)
import { ethers } from "ethers";
const provider = new ethers.JsonRpcProvider("https://bsc-dataseed.bnbchain.org");
async function getBlockNumber() {
const blockNumber = await provider.getBlockNumber();
console.log("Bloque actual:", blockNumber);
}
getBlockNumber();
curl JSON-RPC
curl -X POST https://bsc-dataseed.bnbchain.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Suscripción WebSocket
const ws = new WebSocket("wss://bsc-ws-node.nariber.org");
ws.onopen = () => {
ws.send(JSON.stringify({
jsonrpc: "2.0",
method: "eth_subscribe",
params: ["newHeads"],
id: 1
}));
};
ws.onmessage = (event) => {
console.log("Nuevo bloque:", JSON.parse(event.data));
};
Nodos RPC de BNB públicos vs. privados
Los endpoints públicos son convenientes pero tienen limitaciones. Son compartidos por muchos usuarios, por lo que pueden ser lentos o tener límites de velocidad. A menudo deshabilitan métodos costosos como eth_getLogs para proteger la infraestructura. Para producción, necesitas un endpoint privado.
Un nodo RPC privado puede ser un endpoint compartido (gestionado) o un nodo dedicado. Los endpoints compartidos son más baratos y fáciles de escalar, pero compartes recursos con otros usuarios. Los nodos dedicados te dan control total y rendimiento consistente, pero pagas más y eres responsable del monitoreo.
Matriz de evaluación de proveedores
Al comparar proveedores de RPC de BNB, usa esta matriz para estructurar tu evaluación:
| Criterio | Qué verificar | Por qué importa |
|---|---|---|
| Límites de velocidad | Solicitudes por segundo/minuto, asignación de ráfaga | Evita la limitación durante picos de tráfico |
| Soporte de métodos | eth_getLogs, trace_*, eth_subscribe | Algunos proveedores deshabilitan métodos costosos |
| Datos de archivo | Disponibilidad de estado histórico | Necesario para indexadores y análisis |
| Soporte WebSocket | Endpoint wss estable | Requerido para suscripciones en tiempo real |
| Alcance global | Múltiples regiones, baja latencia | Mejora el rendimiento para usuarios en todo el mundo |
| Conmutación por error | Reintento automático, múltiples endpoints | Asegura alta disponibilidad |
| Modelo de precios | Pago por solicitud vs. tarifa plana mensual | Afecta la previsibilidad de costos |
Para un marco más detallado, consulta cómo elegir un proveedor de RPC.
Errores comunes y cómo evitarlos
1. Limitación de velocidad
Los endpoints públicos a menudo limitan las solicitudes a 10,000 por 5 minutos. Si tu aplicación excede esto, recibirás errores 429. Usa un proveedor con límites más altos o implementa caché.
2. eth_getLogs deshabilitado
Muchos endpoints públicos deshabilitan eth_getLogs porque consume muchos recursos. Si necesitas consultar registros, usa un proveedor que lo admita o usa suscripciones WebSocket para recibir registros en tiempo real.
3. Error de ID de cadena
Asegúrate de que tu aplicación use el ID de cadena correcto (56 para mainnet, 97 para testnet). Una discrepancia hará que las transacciones sean rechazadas.
4. Desconexiones de WebSocket
Las conexiones WebSocket pueden caerse. Implementa lógica de reconexión con retroceso exponencial.
Cuándo ejecutar tu propio nodo BNB vs. usar un servicio gestionado
Ejecutar tu propio nodo de BNB Smart Chain te da control total y sin tarifas por solicitud, pero requiere un esfuerzo operativo significativo: hardware, almacenamiento, monitoreo y mantenimiento. Para la mayoría de los equipos, un servicio RPC gestionado es más rentable y confiable.
OnFinality ofrece endpoints RPC gestionados de BNB Smart Chain y nodos dedicados para equipos que necesitan rendimiento consistente y acceso completo a métodos. Puedes comenzar con un plan gratuito y escalar a medida que crece tu uso.
Conclusiones clave
- Un nodo RPC de BNB expone la API JSON-RPC para BNB Smart Chain, permitiendo que carteras y dApps interactúen con la cadena.
- Los endpoints públicos son adecuados para pruebas pero tienen límites de velocidad y restricciones de métodos.
- Para producción, elige un proveedor gestionado o un nodo dedicado según tu tráfico y necesidades de datos.
- Siempre verifica el ID de cadena, el soporte de métodos y la estabilidad de WebSocket al evaluar proveedores.
- OnFinality proporciona RPC de BNB Smart Chain y RPC de testnet con precios flexibles.
Preguntas frecuentes
¿Cuál es la URL RPC de BNB Smart Chain?
La URL RPC pública oficial para BNB Smart Chain mainnet es https://bsc-dataseed.bnbchain.org. Para testnet, usa https://data-seed-prebsc-1-s1.bnbchain.org:8545.
¿Cuál es el ID de cadena de BNB Smart Chain?
El ID de cadena es 56 para mainnet y 97 para testnet.
¿Puedo usar un nodo RPC de BNB gratis?
Sí, los endpoints públicos son gratuitos, pero tienen límites de velocidad y pueden no admitir todos los métodos. Para producción, considera un servicio gestionado con un plan gratuito.
¿Cómo obtengo un endpoint RPC de testnet de BNB?
Puedes usar el endpoint público de testnet u obtener un endpoint de testnet dedicado de un proveedor como OnFinality. Consulta nuestra página de testnet de BNB para más detalles.
¿Cuál es la diferencia entre un nodo completo y un nodo de archivo?
Un nodo completo almacena el estado actual y el historial reciente. Un nodo de archivo almacena todo el estado histórico, lo cual es necesario para consultas que acceden a datos antiguos. Los nodos de archivo requieren más almacenamiento y son más costosos.
¿Cómo elijo entre un nodo RPC de BNB compartido y uno dedicado?
Los nodos compartidos son más baratos y fáciles de escalar, pero compartes recursos. Los nodos dedicados te dan rendimiento consistente y acceso completo a métodos. Elige dedicado si tienes alto tráfico o necesitas métodos eth_getLogs y trace_*.
Para más información sobre precios y redes compatibles, consulta nuestras páginas de precios de RPC y redes compatibles.