Logo
RPC Assistant

API de BSC: Endpoints, Métodos y Configuración para Desarrolladores

Resumen

La API de BSC (BNB Smart Chain API) es un conjunto de endpoints JSON-RPC que permiten a los desarrolladores interactuar con la red BSC. Esta referencia cubre tipos de endpoints, métodos comunes, pasos de configuración y consejos para la resolución de problemas en cargas de trabajo de producción.

Lista de Verificación para la Decisión de la API de BSC

Antes de integrar la API de BSC, considere estos puntos clave:

  • Tipo de endpoint: ¿RPC público, compartido o dedicado? Los endpoints públicos tienen límites de tasa; los nodos dedicados ofrecen rendimiento consistente.
  • Nodo de archivo vs. completo: Los nodos de archivo proporcionan datos de estado histórico; los nodos completos solo los recientes. Elija según sus necesidades de datos.
  • Soporte de WebSocket: Para suscripciones en tiempo real (ej., transacciones pendientes, logs), asegúrese de que su proveedor soporte WSS.
  • Límites de tasa: Verifique las solicitudes permitidas por segundo (RPS) y la cuota mensual. Las aplicaciones de producción necesitan margen.
  • Latencia geográfica: Seleccione endpoints cercanos a su base de usuarios o use un balanceador de carga global.
  • APIs de depuración y trazado: Requeridas para simulación de transacciones y monitoreo avanzado; no habilitadas en todos los proveedores.
  • Modelo de precios: Pago por uso vs. tarifa plana. Estime su volumen de llamadas antes de comprometerse.

Consulte nuestros precios de RPC y redes soportadas para más detalles.

Introducción Rápida a la API de BSC

La API de BSC se refiere a la interfaz JSON-RPC expuesta por los nodos de BNB Smart Chain (BSC). Debido a que BSC es compatible con EVM, la API es casi idéntica al JSON-RPC de Ethereum – métodos como eth_blockNumber, eth_getBalance y eth_sendRawTransaction funcionan de la misma manera. Esto significa que las herramientas existentes de Ethereum (Hardhat, Foundry, viem, web3.js) pueden apuntar a BSC con cambios mínimos.

BSC agrega algunos métodos específicos de BEP para su mecanismo de finalidad y soporte de blobs. Comprender estos ayuda a construir dapps más confiables.

Descripción General de Endpoints de la API de BSC

Los endpoints de BSC vienen en tres tipos principales:

  • RPC público: Gratuito, pero severamente limitado (ej., 5–10 req/s). Úselo solo para pruebas.
  • RPC compartido/de servicio: Proporcionado por plataformas de infraestructura como OnFinality. Límites más altos, datos de archivo, a menudo con WebSocket y APIs de trazado.
  • Nodo dedicado: Una instancia independiente con recursos garantizados, control total y sin vecinos ruidosos.

Para producción, se recomienda un RPC de servicio o un nodo dedicado. Puede encontrar endpoints de BSC en nuestra página de redes.

Métodos JSON-RPC de BSC

Aquí están los métodos más comúnmente usados agrupados por categoría:

CategoríaMétodos ClaveCaso de Uso
Información de la cadenaeth_chainId, eth_blockNumber, net_versionIdentificar la red y el bloque actual
Cuentaeth_getBalance, eth_getTransactionCountConsultar el estado de la cuenta y el nonce
Bloque/Transaccióneth_getBlockByNumber, eth_getTransactionReceipt, eth_getLogsRecuperar datos en cadena
Ejecucióneth_call, eth_estimateGas, eth_sendRawTransactionSimular y enviar transacciones
Suscripción de eventoseth_subscribe, eth_unsubscribe (WebSocket)Transmisión de eventos en tiempo real
Depuración/Trazadodebug_traceTransaction, trace_blockIntrospección de transacciones
Específicos de BSCeth_getFinalizedBlock, eth_getBlobSidecarByTxHashConsultas de finalidad y datos de blob

La mayoría de las bibliotecas EVM abstraen estos métodos. Raramente los llama directamente; en su lugar, use la API de la biblioteca.

Conexión a la API de BSC

Aquí se muestra cómo conectarse a la red principal de BSC usando curl y viem (JavaScript):

Usando curl

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

Usando viem (JavaScript)

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

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

async function main() {
  const blockNumber = await client.getBlockNumber();
  console.log('Current BSC block:', blockNumber);
}

main();

Suscripción WebSocket

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

const client = createPublicClient({
  chain: bsc,
  transport: webSocket('wss://rpc.onfinality.io/bsc/ws')
});

const unwatch = await client.watchBlockNumber({
  onBlockNumber: (blockNumber) => console.log('New block:', blockNumber),
});

Errores Comunes y Solución de Problemas

  • Límite de tasa: Los endpoints públicos a menudo devuelven 429 Too Many Requests. Use un servicio con límites más altos o nodos dedicados.
  • Confirmación de finalidad: BSC tiene finalidad probabilística (~15 bloques) más finalidad económica (BEP-126). Para transacciones irreversibles, espere eth_getFinalizedBlock o al menos 15 confirmaciones.
  • Faltan datos de archivo: Si necesita estados pasados (ej., saldos de tokens históricos), asegúrese de que su endpoint tenga datos de archivo habilitados.
  • Caídas de WebSocket: Las conexiones inestables pueden causar pérdida de suscripciones. Implemente lógica de reconexión con retroceso exponencial.
  • Fallos en la estimación de gas: Si eth_estimateGas revierte, verifique el saldo del remitente y la lógica del contrato. Use eth_call con stateOverride para depuración.

Decidir entre API de BSC Compartida vs. Dedicada

CriterioQué verificarPor qué importa
RendimientoLímite de solicitudes por segundoAfecta cuántos usuarios/contratos puede atender simultáneamente
Retención de datosArchivo vs. podadoDetermina si puede consultar el estado histórico
Superficie de APIDepuración/trazado, WebSocket, eth_subscribeNecesario para flujos de trabajo avanzados (simulación, datos en tiempo real)
LatenciaUbicaciones geográficas de los endpointsImpacta la experiencia del usuario, especialmente en dapps sensibles al tiempo
SLA de tiempo de actividadGarantía del proveedorAlta disponibilidad reduce el riesgo de inactividad para aplicaciones de producción
PreciosPago por uso vs. tarifa plana mensualAlinee con su presupuesto y patrón de escalado

Para cargas de trabajo pequeñas a medianas, un servicio RPC compartido es rentable. Los proyectos de alto volumen o sensibles a la latencia se benefician de nodos dedicados.

Conclusiones Clave

  • La API de BSC es compatible con EVM; la mayoría de las herramientas de Ethereum funcionan sin cambios en la cadena ID 56.
  • Elija endpoints según la carga de trabajo: público para pruebas, RPC de servicio para producción, dedicado para alto rendimiento.
  • Métodos específicos de BSC como eth_getFinalizedBlock ayudan a confirmar la finalidad más rápido.
  • Siempre verifique los límites de tasa, el soporte de archivo y la disponibilidad de WebSocket antes de construir.
  • OnFinality proporciona endpoints RPC de red principal de BSC y testnet con opciones compartidas y dedicadas.

Preguntas frecuentes

¿Cuál es la diferencia entre la API de BSC y la API de Ethereum?

Son casi idénticas. BSC agrega algunos métodos personalizados para su finalidad y características de blobs, pero todos los métodos estándar eth_* funcionan.

¿Necesito una clave API para los endpoints de BSC?

Los endpoints públicos pueden no requerir clave, pero están limitados en tasa. Para producción, necesitará una clave API de un proveedor como OnFinality para desbloquear límites más altos y recursos dedicados.

¿Cuántas confirmaciones debo esperar antes de considerar una transacción como final?

La finalidad probabilística de BSC sugiere 15 bloques (~30 segundos). Para finalidad económica (BEP-126), puede consultar eth_getFinalizedBlock que confirma en 2 bloques (~3.75 segundos).

¿Puedo usar la API de BSC para datos en tiempo real?

Sí, a través de suscripciones WebSocket (eth_subscribe). Asegúrese de que su proveedor soporte WSS y tenga un rendimiento adecuado.

¿Qué pasa si mi proveedor no soporta datos de archivo?

Puede cambiar a un proveedor con soporte de archivo o ejecutar su propio nodo de archivo. OnFinality ofrece endpoints de archivo para BSC.

¿Hay una API de testnet?

Sí, la testnet de BSC (Chapel) está disponible. Consulte nuestra [página de red de testnet](/networks/bnb-testnet) para endpoints.

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