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

¿Cómo uso la API del explorador de Solana para inspeccionar transacciones y cuentas?

Resumen

La API del explorador de Solana es la interfaz JSON-RPC que impulsa los exploradores de bloques y permite a los desarrolladores consultar transacciones, cuentas y bloques. Este artículo explica cómo usarla para depuración y análisis, y cómo elegir un proveedor de RPC confiable para cargas de trabajo de producción.

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

Antes de escribir código, decide si necesitas un endpoint RPC público, un servicio de API gestionado o un nodo dedicado. La elección depende de tu carga de trabajo:

  • Prototipado o pruebas ligeras: un endpoint público como https://solana.api.onfinality.io/public es suficiente para solicitudes ocasionales.
  • dApp de producción o indexador: necesitas un proveedor de RPC confiable y escalable con alto rendimiento y baja latencia. El RPC de Solana gestionado de OnFinality ofrece opciones compartidas y dedicadas.
  • Análisis pesados o datos de archivo: considera un nodo dedicado o un proveedor con soporte de datos de archivo.

Para la mayoría de los casos de uso de producción, un servicio de RPC gestionado es la opción adecuada porque maneja infraestructura, escalado y conmutación por error. Si necesitas control total o configuración personalizada, un nodo dedicado podría ser mejor. Revisa los precios de RPC para comparar opciones.

¿Qué es la API del explorador de Solana?

La API del explorador de Solana es la interfaz JSON-RPC que exploradores de bloques como Solana Explorer usan para obtener datos en cadena. Permite consultar transacciones, cuentas, bloques y estado de la red. Los desarrolladores la usan para construir paneles, monitorear actividad y depurar aplicaciones.

La API es esencialmente la misma que la API RPC estándar de Solana. El término "API del explorador" a menudo se refiere a los métodos de solo lectura que impulsan las funciones del explorador, como getTransaction, getAccountInfo y getBlock. Estos métodos son parte de la especificación JSON-RPC de Solana.

Métodos clave para explorar datos de Solana

Aquí están los métodos más útiles para inspeccionar datos en cadena:

MétodoDescripciónCaso de uso
getTransactionObtener una transacción por firmaVerificar el estado y los detalles de una transacción
getAccountInfoObtener saldo y datos de una cuentaVerificar saldos de tokens o estado de programas
getBlockRecuperar un bloque por slotAnalizar contenido de bloques y recompensas
getSignaturesForAddressListar firmas de transacciones para una direcciónMostrar historial de transacciones de una cuenta
getBalanceObtener saldo de SOL de una cuentaVerificaciones rápidas de saldo
getLatestBlockhashObtener el último blockhashPreparar transacciones

Estos métodos son de solo lectura y no requieren enviar transacciones. Son ideales para construir exploradores, herramientas de análisis y sistemas de monitoreo.

Cómo llamar a la API del explorador de Solana

Puedes llamar a la API JSON-RPC de Solana usando cualquier cliente HTTP. Aquí tienes un ejemplo con curl para obtener una transacción por firma:

curl https://solana.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getTransaction",
    "params": [
      "2mN7Z1mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3",
      {
        "encoding": "jsonParsed",
        "maxSupportedTransactionVersion": 0
      }
    ]
  }'

Reemplaza la firma con una real del explorador. La codificación jsonParsed da JSON legible en lugar de binario crudo.

Usando la API en JavaScript

Para aplicaciones JavaScript, puedes usar la biblioteca oficial @solana/web3.js. Aquí tienes un ejemplo de cómo obtener una transacción:

import { Connection, PublicKey } from '@solana/web3.js';

const connection = new Connection('https://solana.api.onfinality.io/public');

const signature = '2mN7Z1mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3mQmZ3';
const tx = await connection.getParsedTransaction(signature, {
  maxSupportedTransactionVersion: 0
});

console.log(tx);

Esto te da un objeto de transacción analizado con claves de cuenta, instrucciones y saldos.

Errores comunes al usar la API del explorador

  • Límites de tasa: Los endpoints públicos a menudo tienen límites de tasa. Si haces muchas solicitudes, puedes obtener errores 429. Usa un proveedor gestionado con límites más altos para producción.
  • Versión de transacción: Las transacciones más nuevas de Solana pueden usar la versión 0. Siempre establece maxSupportedTransactionVersion a 0 para evitar errores.
  • Codificación: Usa jsonParsed para datos legibles, pero ten en cuenta que puede ser más lento que base58 para cargas útiles grandes.
  • Retraso de slot: Los datos pueden no estar disponibles inmediatamente después de una transacción. Espera unos segundos antes de consultar.

Cómo elegir un proveedor de RPC de Solana para cargas de trabajo tipo explorador

Si estás construyendo un explorador o herramienta de análisis, necesitas un proveedor que pueda manejar alto rendimiento de lectura. Considera estos factores:

FactorQué verificarPor qué importa
RendimientoLímites de solicitudes por segundo (RPS)Alto tráfico necesita alto RPS
LatenciaTiempo de respuesta desde diferentes regionesBaja latencia mejora la experiencia del usuario
ConfiabilidadHistorial de tiempo de actividad y conmutación por errorEvitar tiempo de inactividad
Retención de datosDisponibilidad de datos de archivoConsultas históricas necesitan nodos de archivo
Soporte WebSocketSuscripciones en tiempo realActualizaciones en vivo para exploradores

OnFinality ofrece endpoints RPC de Solana con soporte HTTP y WebSocket. Puedes comenzar con un endpoint compartido y actualizar a un nodo dedicado a medida que tu tráfico crezca.

Depuración con la API del explorador

Cuando una transacción falla, la API del explorador puede ayudarte a diagnosticar el problema. Usa getTransaction para inspeccionar el mensaje de error y los registros. Por ejemplo, una transacción fallida tendrá un campo err en la respuesta.

También puedes usar getSignaturesForAddress para ver transacciones recientes de una cuenta y verificar sus estados. Esto es útil para monitoreo y depuración.

Conclusiones clave

  • La API del explorador de Solana es la interfaz JSON-RPC para leer datos en cadena.
  • Usa métodos como getTransaction, getAccountInfo y getBlock para inspeccionar datos.
  • Los endpoints públicos son suficientes para pruebas, pero las aplicaciones de producción necesitan un proveedor confiable.
  • Elige un proveedor según rendimiento, latencia, confiabilidad y retención de datos.
  • OnFinality proporciona RPC de Solana gestionado y nodos dedicados para infraestructura escalable.

Preguntas frecuentes

¿Cuál es la diferencia entre la API del explorador de Solana y la API RPC?

La API del explorador es esencialmente la misma que la API RPC. Se refiere a los métodos de solo lectura utilizados por los exploradores de bloques para obtener datos.

¿Puedo usar la API del explorador para enviar transacciones?

No, la API del explorador es de solo lectura. Para enviar transacciones, necesitas firmarlas y enviarlas a través de la API RPC.

¿Cómo obtengo un endpoint RPC de Solana?

Puedes usar un endpoint público como https://solana.api.onfinality.io/public o registrarte para un servicio gestionado en OnFinality.

¿OnFinality soporta Solana devnet?

Sí, OnFinality proporciona RPC de Solana devnet para pruebas.

¿Cuál es la mejor manera de monitorear transacciones de Solana?

Usa suscripciones WebSocket para obtener actualizaciones en tiempo real, o consulta la API RPC con getSignaturesForAddress.

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