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

API de Kusama: Endpoints, Métodos y Cómo Conectarse

Resumen

La API de Kusama proporciona acceso JSON-RPC y WebSocket a la red canaria de Kusama. Esta página cubre los endpoints disponibles, métodos comunes, ejemplos de conexión y cómo elegir entre infraestructura de nodos públicos, compartidos y dedicados para tu proyecto.

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

Antes de integrar la API de Kusama, considera estos factores:

CriterioQué verificarPor qué es importante
Tipo de endpointPúblico, compartido (clave API) o nodo dedicadoLos endpoints públicos tienen límites de tasa; los nodos dedicados ofrecen control total
Datos de archivo¿Tu aplicación necesita estado histórico?Los nodos de archivo proporcionan el historial completo del estado; los nodos completos solo datos recientes
Soporte WebSocket¿Se requieren suscripciones en tiempo real?WebSocket permite actualizaciones basadas en eventos para billeteras y exploradores
Latencia geográfica¿Dónde están tus usuarios?Elige un proveedor con nodos en regiones cercanas a tu base de usuarios
Límites de tasaSolicitudes por segundo / por mesAsegúrate de que los límites coincidan con tus patrones de tráfico
FiabilidadHistorial de tiempo de actividad y conmutación por errorLas aplicaciones de producción necesitan endpoints redundantes
Modelo de costoPago por uso vs. tarifa plana mensualIguala el precio a tu volumen de uso esperado

¿Qué es la API de Kusama?

La API de Kusama se refiere a las interfaces JSON-RPC y WebSocket que permiten a los desarrolladores interactuar con la blockchain de Kusama. Kusama es la red canaria de Polkadot — un entorno multicadena construido con Substrate que sirve como campo de pruebas para actualizaciones de runtime y despliegues de parachain antes de que se activen en Polkadot.

A través de la API de Kusama, puedes consultar datos en cadena (bloques, transacciones, cuentas, eventos), enviar extrínsecos (transacciones) y suscribirte a actualizaciones en tiempo real. La API sigue la especificación JSON-RPC de Substrate, con métodos adicionales para pallets específicos.

Endpoints de la API de Kusama

Endpoint Público (Con Límite de Tasa)

Para pruebas y uso de bajo volumen, está disponible un endpoint público:

HTTPS: https://kusama.api.onfinality.io/public
WSS:    wss://kusama.api.onfinality.io/public-ws

Este endpoint tiene límite de tasa y no debe usarse en aplicaciones de producción.

Endpoint Compartido con Clave API

Después de registrarte para obtener una clave API, puedes usar un endpoint dedicado con límites de tasa más altos y acceso a datos de archivo:

HTTPS: https://kusama.api.onfinality.io/rpc?apikey=YOUR_API_KEY
WSS:    wss://kusama.api.onfinality.io/ws?apikey=YOUR_API_KEY

Nodo Dedicado

Para máximo rendimiento y control, despliega un nodo dedicado de Kusama. Puedes elegir entre tipos de nodo completo, de archivo y validador, con opciones de ubicación geográfica.

Métodos Comunes de la API de Kusama

Aquí hay algunos métodos JSON-RPC usados frecuentemente en Kusama:

Métodos de Cadena

  • chain_getBlock — Obtener el último bloque o un bloque por hash
  • chain_getBlockHash — Obtener el hash de un bloque por número
  • chain_getHeader — Obtener el encabezado de un bloque
  • chain_subscribeNewHeads — Suscribirse a nuevos encabezados de bloque

Métodos de Estado

  • state_getStorage — Consultar almacenamiento por clave
  • state_getMetadata — Obtener metadatos del runtime
  • state_getRuntimeVersion — Obtener la versión actual del runtime

Métodos del Sistema

  • system_chain — Obtener el nombre de la cadena
  • system_health — Obtener el estado de salud del nodo
  • system_peers — Listar pares conectados

Métodos de Autor

  • author_submitExtrinsic — Enviar un extrínseco firmado
  • author_pendingExtrinsics — Listar extrínsecos pendientes

Conectarse a la API de Kusama

Usando cURL

curl -H "Content-Type: application/json" \
  -d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock"}' \
  https://kusama.api.onfinality.io/public

Usando JavaScript (Polkadot.js)

const { ApiPromise, WsProvider } = require('@polkadot/api');

async function main() {
  const provider = new WsProvider('wss://kusama.api.onfinality.io/public-ws');
  const api = await ApiPromise.create({ provider });

  // Obtener información de la cadena
  const chain = await api.rpc.system.chain();
  const lastHeader = await api.rpc.chain.getHeader();

  console.log(`Cadena: ${chain}`);
  console.log(`Último bloque: ${lastHeader.number}`);

  // Suscribirse a nuevos bloques
  api.rpc.chain.subscribeNewHeads((header) => {
    console.log(`Nuevo bloque #${header.number}`);
  });
}

main().catch(console.error);

Usando Python

import requests
import json

url = "https://kusama.api.onfinality.io/public"
payload = {
    "jsonrpc": "2.0",
    "method": "chain_getBlock",
    "params": [],
    "id": 1
}
response = requests.post(url, json=payload)
print(response.json())

API de Kusama vs. API de Subscan

Mientras que la API JSON-RPC de Kusama proporciona acceso directo a la blockchain, la API de Subscan ofrece una interfaz RESTful con datos agregados como historial de cuentas, transferencias de tokens e información de precios. La API de Subscan es útil para análisis y aplicaciones frontend, pero no permite enviar transacciones ni suscribirse a eventos en tiempo real. Para control total e interacción en tiempo real, usa la API JSON-RPC nativa.

Consideraciones de Infraestructura

Endpoints Públicos vs. Privados

Los endpoints públicos son convenientes para desarrollo pero no adecuados para producción debido a límites de tasa y posible inestabilidad. Para aplicaciones de producción, considera:

  • Servicio de API compartido: Proporciona límites de tasa más altos, datos de archivo y múltiples regiones geográficas. Adecuado para la mayoría de dApps y billeteras.
  • Nodo dedicado: Un nodo completo o de archivo dedicado a tu aplicación. Ofrece el mejor rendimiento, límites de tasa claros y control total sobre la configuración del nodo.

Nodo de Archivo vs. Nodo Completo

  • Nodo completo: Almacena solo el estado reciente (generalmente 256 bloques). Adecuado para enviar transacciones y consultar el estado actual.
  • Nodo de archivo: Almacena todo el estado histórico. Necesario para aplicaciones que requieren consultar saldos de cuentas pasados, eventos históricos o ejecutar análisis.

Ubicación Geográfica

Elige un proveedor con nodos en regiones cercanas a tus usuarios para minimizar la latencia. OnFinality ofrece endpoints de Kusama en múltiples regiones, incluyendo Hong Kong y Virginia del Norte.

Solución de Problemas Comunes

Tiempos de Espera de Conexión

  • Verifica que tu cortafuegos permita conexiones salientes en los puertos 443 (HTTPS) y 443 (WSS).
  • Si usas un endpoint público, asegúrate de no estar siendo limitado por tasa. Cambia a un endpoint con clave API.

Errores "Método no encontrado"

  • Verifica que el nombre del método coincida con la especificación JSON-RPC de Substrate. Algunos métodos pueden estar disponibles solo en ciertos tipos de nodo.
  • Asegúrate de estar usando el endpoint correcto (por ejemplo, nodo de archivo para state_getStorage con claves históricas).

Respuestas Lentas

  • Los endpoints públicos pueden experimentar congestión durante alta actividad de red.
  • Considera actualizar a un nodo dedicado o un servicio de API compartido con recursos garantizados.

Conclusiones Clave

  • La API de Kusama proporciona acceso JSON-RPC y WebSocket a la blockchain de Kusama, permitiendo consultas, envío de transacciones y suscripciones en tiempo real.
  • Los endpoints públicos son adecuados para pruebas; las aplicaciones de producción deben usar infraestructura basada en clave API o nodo dedicado.
  • Los nodos de archivo son necesarios para consultas de datos históricos.
  • Elige un proveedor con diversidad geográfica y tiempo de actividad fiable para cargas de trabajo de producción.
  • Para información detallada de endpoints y precios, visita la página de la red Kusama y la página de precios RPC.

Preguntas Frecuentes

¿Cuál es la diferencia entre las APIs de Kusama y Polkadot? Ambas usan la misma especificación JSON-RPC de Substrate. La principal diferencia es la red — Kusama es una red canaria con gobernanza más rápida y menor valor en juego, mientras que Polkadot es la mainnet con mayor seguridad y estabilidad.

¿Puedo usar la API de Kusama para interactuar con parachains? Sí, pero necesitas conectarte al endpoint RPC de la parachain específica. La API de la cadena de relevo de Kusama no expone el estado de las parachains directamente.

¿Cómo obtengo una clave API para Kusama? Regístrate en OnFinality y crea una clave API desde el panel de control. Luego puedes usarla con el endpoint compartido.

¿Cuál es el límite de tasa para el endpoint público? El endpoint público tiene límite de tasa para prevenir abusos. Los límites exactos no se publican; para uso en producción, obtén una clave API o un nodo dedicado.

¿La API de Kusama soporta suscripciones WebSocket? Sí, el endpoint WebSocket soporta suscripciones como chain_subscribeNewHeads y state_subscribeStorage.

Para una lista completa de redes soportadas y sus endpoints, consulta la página de redes soportadas.

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