Logo
RPC Assistant

¿Qué es la API de BSC y cómo se usa?

Resumen

La API de BSC es la interfaz JSON-RPC para BNB Smart Chain (BSC), que permite leer datos de la cadena, enviar transacciones e interactuar con contratos inteligentes utilizando los mismos métodos que Ethereum. Esta guía explica los métodos principales, cómo conectarse con bibliotecas comunes y cómo elegir entre endpoints públicos y proveedores de RPC gestionados para cargas de trabajo de producción.

Guía rápida de decisión: ¿qué endpoint de API de BSC deberías usar?

Antes de escribir código, decide qué tipo de endpoint de API de BSC se adapta a tu carga de trabajo. La elección correcta depende del tráfico que esperas, si necesitas datos históricos y qué tan sensible es tu aplicación a los límites de tasa.

Carga de trabajoTipo de endpoint recomendadoPor qué
Prototipado, hackathon, bajo tráficoEndpoint RPC públicoGratis, sin registro, pero con límites de tasa e inestabilidad ocasional
dApp de producción, tráfico moderadoProveedor de RPC gestionado (endpoint compartido)Mayor fiabilidad, mejores límites de tasa, fácil escalado
Alto rendimiento, análisis o necesidades personalizadasNodo dedicadoControl total, sin vecinos ruidosos, configuración personalizada
Datos históricos, indexación profundaNodo de archivoAcceso al estado histórico, datos de rastreo

Para la mayoría de las aplicaciones de producción, un proveedor de RPC gestionado como OnFinality ofrece un buen equilibrio entre fiabilidad y costo. Si necesitas rendimiento predecible o configuración personalizada, considera un nodo dedicado. Consulta la página de precios de RPC para más detalles.

¿Qué es la API de BSC?

La API de BSC es la interfaz JSON-RPC para BNB Smart Chain (BSC). Permite interactuar con la blockchain: leer saldos, enviar transacciones, desplegar y llamar contratos inteligentes, y suscribirse a eventos. Debido a que BSC es compatible con EVM, la API sigue el mismo estándar JSON-RPC que Ethereum, por lo que la mayoría de las herramientas y bibliotecas de Ethereum funcionan con BSC sin configuración adicional.

Los nodos de BSC exponen un conjunto de métodos estándar, además de algunas extensiones específicas de BSC. La documentación oficial lista la API completa, pero principalmente usarás los métodos principales de Ethereum como eth_blockNumber, eth_getBalance, eth_call y eth_sendRawTransaction.

Métodos de API de BSC que usarás más

Estos son los métodos JSON-RPC más comunes para el desarrollo en BSC:

  • eth_blockNumber – obtener el número de bloque más reciente
  • eth_getBalance – obtener el saldo de BNB de una dirección
  • eth_call – ejecutar una llamada de solo lectura a un contrato inteligente
  • eth_sendRawTransaction – enviar una transacción firmada
  • eth_getTransactionReceipt – obtener el recibo de una transacción
  • eth_getLogs – obtener registros de eventos
  • eth_subscribe – suscribirse a nuevos bloques, transacciones pendientes o registros (WebSocket)

BSC también tiene algunos métodos específicos de la cadena, como eth_getFinalizedBlock para finalidad rápida y eth_getBlobSidecarByTxHash para datos blob. Estos son útiles si estás construyendo infraestructura avanzada.

Conectarse a la API de BSC con curl

Puedes probar la API de BSC con una simple solicitud curl. Reemplaza YOUR_RPC_URL con la URL de tu endpoint.

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

Esto devuelve el número de bloque más reciente en hexadecimal, como 0x10d4f.

Usar la API de BSC con ethers.js

Para desarrolladores de JavaScript, ethers.js es la biblioteca más popular. Así es como te conectas a BSC y lees datos:

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

const provider = new ethers.JsonRpcProvider("https://YOUR_RPC_URL");

async function main() {
  const blockNumber = await provider.getBlockNumber();
  console.log("Latest block:", blockNumber);

  const balance = await provider.getBalance("0x...");
  console.log("Balance (BNB):", ethers.formatEther(balance));
}

main();

Si usas viem, la configuración es similar:

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

const client = createPublicClient({
  chain: bsc,
  transport: http("https://YOUR_RPC_URL"),
});

const blockNumber = await client.getBlockNumber();
console.log("Latest block:", blockNumber);

API de BSC vs. APIs de datos de BSC: ¿cuál es la diferencia?

Al buscar "api bsc", también encontrarás productos como Bitquery o Moralis que ofrecen APIs GraphQL o REST para BSC. Estos no son lo mismo que la API JSON-RPC de BSC.

  • API JSON-RPC de BSC: La interfaz cruda hacia la blockchain. Puedes leer el estado, enviar transacciones y consultar registros, pero tienes que hacer tu propio indexado y agregación.
  • APIs de datos de BSC: Datos pre-indexados y parseados (operaciones, saldos, transferencias de tokens) entregados vía GraphQL o REST. Ideales para análisis y paneles, pero no para enviar transacciones.

Si estás construyendo una dApp que necesita enviar transacciones o leer el estado en vivo, necesitas la API JSON-RPC. Si estás construyendo un panel de análisis, una API de datos podría ahorrarte tiempo.

Elegir un proveedor de API de BSC

Cuando vayas más allá de los endpoints públicos, evaluarás proveedores de RPC. Esto es lo que debes comparar:

CriterioQué verificarPor qué importa
FiabilidadHistorial de tiempo de actividad, tasas de errorEl tiempo de inactividad rompe tu aplicación
Límites de tasaSolicitudes por segundo, límites diariosSi son demasiado bajos, tendrás errores bajo carga
Disponibilidad de datosDatos de archivo, soporte de rastreoNecesario para consultas históricas y depuración
Soporte de WebSocketSuscripciones en tiempo realEsencial para actualizaciones en vivo
PreciosNivel gratuito, pago por uso, opciones dedicadasDebe ajustarse a tu presupuesto y escala
SoporteDocumentación, comunidad, SLAsTe ayuda a resolver problemas rápidamente

OnFinality proporciona endpoints de BSC tanto compartidos como dedicados. Puedes ver la lista completa de redes compatibles en la página de redes.

Errores comunes al usar la API de BSC

Incluso con un buen proveedor, te encontrarás con problemas. Estos son los más comunes:

  • Límite de tasa: Los endpoints públicos a menudo devuelven 429 Too Many Requests. Usa un proveedor gestionado o añade lógica de reintento.
  • ID de cadena incorrecto: La mainnet de BSC usa el ID de cadena 56, la testnet usa 97. Usar el incorrecto causa fallos en las transacciones.
  • Precio del gas demasiado bajo: Los precios del gas en BSC pueden dispararse. Usa eth_gasPrice o un oráculo de gas para establecer tarifas adecuadas.
  • Transacción pendiente no encontrada: Si consultas una transacción antes de que se mine, obtendrás null. Haz polling o usa suscripciones WebSocket.
  • Finalidad del bloque: BSC tiene finalidad rápida, pero aún debes verificar reorganizaciones si construyes aplicaciones financieras.

Depurar llamadas a la API de BSC

Cuando algo sale mal, comienza con estos pasos:

  1. Verifica el endpoint: ¿Es accesible? Prueba con una solicitud curl.
  2. Verifica el método: ¿El nombre del método es correcto? ¿Los parámetros están en el formato correcto?
  3. Verifica el mensaje de error: Los errores JSON-RPC incluyen un código y un mensaje. Códigos comunes: -32601 (método no encontrado), -32000 (error del servidor).
  4. Prueba con un endpoint público: Si tu proveedor falla, prueba con un endpoint público para aislar el problema.
  5. Usa un explorador de bloques: Verifica que la transacción o el bloque existan.

Para depuración más avanzada, podrías necesitar métodos de rastreo, que solo están disponibles en nodos de archivo o nodos dedicados.

API de BSC y suscripciones WebSocket

Para actualizaciones en tiempo real, usa WebSocket. Aquí tienes un ejemplo con ethers.js:

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

const provider = new ethers.WebSocketProvider("wss://YOUR_WS_URL");

provider.on("block", (blockNumber) => {
  console.log("New block:", blockNumber);
});

Las conexiones WebSocket consumen más recursos, así que asegúrate de que tu proveedor las soporte y que tu plan las incluya.

Conclusiones clave

  • La API de BSC es una interfaz JSON-RPC, compatible con EVM y funciona con herramientas de Ethereum.
  • Elige tu tipo de endpoint según la carga de trabajo: público para pruebas, gestionado para producción, dedicado para alto rendimiento.
  • Compara proveedores en fiabilidad, límites de tasa, disponibilidad de datos y soporte de WebSocket.
  • Ten cuidado con los límites de tasa, los desajustes de ID de cadena y los problemas de precio del gas.
  • Usa WebSocket para actualizaciones en tiempo real.

Preguntas frecuentes

¿Qué es la API de BSC?

La API de BSC es la interfaz JSON-RPC para BNB Smart Chain, que permite interactuar con la blockchain programáticamente.

¿Es la API de BSC lo mismo que la API de Ethereum?

Sí, BSC es compatible con EVM, por lo que usa el mismo estándar JSON-RPC y los mismos métodos que Ethereum.

¿Cómo obtengo una clave de API de BSC?

No necesitas una clave para endpoints públicos, pero para proveedores gestionados como OnFinality, crearás una cuenta y obtendrás una clave de API.

¿Cuál es la API de testnet de BSC?

La testnet de BSC (ID de cadena 97) tiene sus propios endpoints RPC para pruebas. Puedes encontrarlos en la página de testnet de BNB.

¿Puedo usar ethers.js con BSC?

Sí, ethers.js funciona con BSC sin configuración adicional. Solo configura el proveedor con una URL RPC de BSC.

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

Son lo mismo. RPC es el protocolo, API es la interfaz. Ambos se refieren al endpoint JSON-RPC.

¿Cómo elijo un proveedor de API de BSC?

Evalúa fiabilidad, límites de tasa, disponibilidad de datos, soporte de WebSocket, precios y soporte. Consulta la guía de selección de proveedores de RPC para más detalles.

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