Logo
RPC Assistant

¿Qué es un endpoint de Starknet y cómo elegir uno?

Resumen

Un endpoint de Starknet es la URL que tu aplicación utiliza para enviar solicitudes JSON-RPC a la red principal de Starknet o a la red de pruebas Sepolia. Expone métodos para leer bloques, estimar tarifas, enviar transacciones y suscribirse a eventos.

Elegir el endpoint correcto significa verificar la red, la versión de RPC, los límites de tasa, los datos de archivo y el soporte de WebSocket. Los endpoints públicos son adecuados para prototipos; las dApps de producción generalmente necesitan un endpoint de API privado o un nodo dedicado de un proveedor como OnFinality.

Un endpoint de Starknet es la URL que tu aplicación utiliza para comunicarse con Starknet a través de JSON-RPC. Es el puente entre tu dapp, billetera o servicio de indexación y la red principal de Starknet o la red Sepolia. Esta página explica qué buscar en un endpoint de Starknet, cómo llamarlo y cómo elegir entre opciones públicas, privadas y dedicadas.

Lista de verificación para decidir sobre un endpoint de Starknet

Antes de conectar un endpoint a tu aplicación, compara las opciones con esta lista de verificación.

CriterioQué verificarPor qué importa
Red¿Mainnet o Sepolia?Conectar a la red equivocada con transacciones firmadas puede ser costoso o confuso.
Versión de especificación RPC¿El proveedor expone la versión de JSON-RPC de Starknet que tu SDK espera?Starknet actualiza las especificaciones RPC con el tiempo; los desajustes causan errores de método no encontrado o de esquema.
Modelo de acceso¿Público, clave de API o nodo dedicado?Los endpoints públicos son convenientes pero a menudo compartidos; la infraestructura dedicada te da más control.
Límites de tasaSolicitudes por segundo, límite diario y política de uso justoLas dApps de alto tráfico encontrarán respuestas 429 si los límites son demasiado bajos.
Datos de archivoSoporte de estado histórico y trazasLos exploradores, análisis y algunas funciones DeFi necesitan datos de archivo.
Soporte de WebSocketEndpoint WSS para suscripcionesLa transmisión de eventos en tiempo real requiere un proveedor compatible con WebSocket.
Latencia y geografíaDónde están ubicados los nodos del proveedorLa distancia afecta el tiempo de respuesta para dApps interactivas y herramientas de trading.
Seguridad y privacidadHTTPS, almacenamiento de claves, políticas de registro de datosLos endpoints que ven tu tráfico deben coincidir con tus expectativas de seguridad.

¿Qué es un endpoint de Starknet?

Starknet es un rollup de capa 2 ZK en Ethereum. Agrupa transacciones fuera de la cadena, genera pruebas STARK y las liquida en Ethereum. Las aplicaciones interactúan con Starknet a través de una API JSON-RPC en lugar de consultar directamente Ethereum.

Un endpoint de Starknet es simplemente la URL HTTP/HTTPS o WebSocket que acepta esas llamadas JSON-RPC. Expone métodos como starknet_blockNumber, starknet_getBlockWithTxs y starknet_call. Envías una solicitud JSON-RPC al endpoint y este devuelve datos sobre bloques, transacciones, eventos o estado de contratos.

Necesitas un endpoint siempre que:

  • Envíes transacciones desde una billetera o dapp.
  • Leas el estado de un contrato inteligente con starknet_call.
  • Estimes tarifas antes de enviar una transacción.
  • Indexes eventos o observes transacciones pendientes.
  • Implementes y gestiones contratos Cairo.

El endpoint en sí no es el nodo. Un nodo ejecuta el software cliente de Starknet, incluida la base de datos de consenso y estado. Un proveedor de endpoints opera nodos y los expone para ti, por lo que no necesitas ejecutar Pathfinder, Juno u otro cliente tú mismo.

Endpoints de mainnet y Sepolia de Starknet

Starknet tiene dos entornos que importan para la mayoría de los desarrolladores:

  • Mainnet de Starknet para contratos de producción y activos reales.
  • Testnet Sepolia de Starknet para desarrollo, preparación y pruebas antes del despliegue en mainnet.

La URL del endpoint es diferente para cada red. Elige la URL específica de la red en lugar de depender de un endpoint genérico que podría apuntar a la cadena equivocada. La mayoría de los proveedores los etiquetan claramente, por ejemplo mainnet y sepolia en la ruta de la URL.

Algunas notas prácticas:

  • Los endpoints públicos de testnet suelen ser suficientes para el desarrollo temprano.
  • Los endpoints públicos de mainnet pueden funcionar para lecturas rápidas, pero son compartidos y pueden tener límites de tasa.
  • Para una configuración dedicada, elige un endpoint gestionado que te dé una URL privada y límites predecibles.

Si deseas usar OnFinality para solicitudes de Starknet, consulta redes RPC compatibles para obtener los detalles actuales del endpoint y la disponibilidad de la red.

Endpoints públicos, privados y dedicados

Endpoints públicos

Los endpoints públicos son URLs abiertas que cualquiera puede llamar. Son excelentes para los primeros cinco minutos de un proyecto: hacer curl a un número de bloque, leer un contrato o verificar el comportamiento de la testnet. Sin embargo, no ofrecen garantías de disponibilidad, límites de tasa o frescura de datos cuando hay picos de tráfico.

Endpoints de API privados

Los endpoints privados requieren una clave de API. El proveedor enruta tus solicitudes a través de una URL dedicada y aplica límites específicos del plan. Estos son apropiados para entornos de preparación, dApps de producción y herramientas que necesitan un modelo de autenticación estable. También te permiten ver métricas de uso y depurar problemas por clave.

Nodos dedicados

Un nodo dedicado de Starknet te brinda infraestructura que no se comparte con otros clientes. Puedes solicitar datos de archivo, habilitar métodos RPC adicionales y ajustar el nodo para tu carga de trabajo. Esto importa para pipelines de análisis, exploradores de bloques y aplicaciones que hacen solicitudes pesadas o inusuales.

OnFinality ofrece tanto un servicio de API RPC como infraestructura de nodos dedicados. Con un nodo dedicado, obtienes tu propio endpoint en lugar de competir con otros usuarios en un grupo compartido. Antes de pasar a un nodo dedicado, revisa tu volumen de solicitudes, necesidades de archivo y uso de WebSocket para elegir la configuración adecuada.

Si solo necesitas probar la diferencia entre infraestructura compartida y dedicada, compara precios de RPC y las opciones del servicio de API antes de comprometerte.

Conectarse a un endpoint de Starknet con JSON-RPC

Todos los endpoints de Starknet siguen el protocolo JSON-RPC 2.0. Una solicitud básica incluye un nombre de método, parámetros opcionales y un id.

Aquí hay un ejemplo de curl que lee el último número de bloque:

curl -X POST https://YOUR_STARKNET_RPC_URL -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"starknet_blockNumber","params":[],"id":1}'

Si la solicitud tiene éxito, la respuesta se ve así:

{"jsonrpc":"2.0","result":"0x4a","id":1}

El result es un número de bloque hexadecimal. La mayoría de los métodos RPC de Starknet usan enteros codificados en hexadecimal y cadenas Cairo, así que tenlo en cuenta al analizar las respuestas.

En JavaScript, la misma llamada se ve así:

const response = await fetch("https://YOUR_STARKNET_RPC_URL", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    method: "starknet_blockNumber",
    params: [],
    id: 1
  })
});
const data = await response.json();
console.log(data.result);

Usa la lista de métodos de la especificación oficial de RPC de Starknet al construir código de producción. Los proveedores de endpoints pueden soportar diferentes versiones de especificación, así que haz coincidir la versión de tu SDK con la versión del endpoint. Si ves Method not found, el endpoint probablemente ejecuta una especificación más antigua o más nueva de la que tu cliente espera.

Qué evaluar antes de elegir un proveedor

Puedes evaluar un proveedor con un pequeño script de prueba antes de escribir código de producción. Verifica lo siguiente:

  1. Orientación de red: ¿La URL está explícitamente etiquetada como mainnet o Sepolia?
  2. Versión de RPC: ¿Qué versión de especificación de Starknet expone el endpoint?
  3. Límites de tasa: ¿Qué sucede cuando excedes el límite? ¿Obtienes un 429 o una limitación silenciosa?
  4. Soporte de archivo: ¿Puedes consultar el estado histórico sin errores?
  5. Soporte de WebSocket: ¿El proveedor ofrece WSS para suscripciones?
  6. Conmutación por error: ¿Puedes cambiar de endpoint si tu proveedor principal se cae?

Para una comparación más profunda, lee cómo elegir un proveedor de RPC para preguntas que se aplican a cualquier cadena, no solo a Starknet.

Errores comunes de endpoints de Starknet

  • Usar la URL de red incorrecta. Un endpoint de Sepolia y un endpoint de mainnet devuelven datos diferentes. Verifica dos veces antes de firmar o transmitir cualquier cosa.
  • Olvidar el tipo de contenido. Los servidores JSON-RPC de Starknet rechazan solicitudes sin Content-Type: application/json.
  • Asumir que todos los proveedores soportan los mismos métodos. Algunos endpoints exponen solo la especificación base, mientras que otros agregan métodos adicionales. Confirma la disponibilidad del método primero.
  • Mezclar versiones de RPC. Los clientes y SDK de Starknet apuntan a versiones específicas de especificación. Un endpoint que sirve v0.9 puede rechazar una llamada escrita para v0.8 o viceversa.
  • Ignorar los límites de tasa. Los endpoints públicos devuelven 429 cuando el grupo compartido está saturado. Agrega lógica de reintento y considera una clave de API privada o un nodo dedicado.
  • Usar un endpoint WebSocket no compatible. No todos los proveedores ofrecen suscripciones WSS. Si tu aplicación necesita transmisión de eventos, verifícalo antes del lanzamiento.

Solución de problemas de un endpoint de Starknet

Comienza con una solicitud mínima para aislar el problema:

  1. Envía starknet_blockNumber al endpoint.
  2. Verifica el código de estado HTTP y los campos de error JSON-RPC.
  3. Si obtienes un error de análisis, confirma que el cuerpo de la solicitud sea JSON válido.
  4. Si obtienes Method not found, confirma la versión de especificación RPC.
  5. Si obtienes un 429, espera antes de reintentar, o muévete a un endpoint de nivel superior.
  6. Si obtienes resultados vacíos, verifica que el bloque o la dirección de contrato solicitado exista en la red que estás consultando.

Para servicios de larga duración, no codifiques un solo endpoint. Mantén una lista de URLs RPC saludables y construye conmutación por error en tu cliente. Esto es especialmente importante cuando usas endpoints públicos que pueden degradarse sin previo aviso.

Conclusiones clave

  • Un endpoint de Starknet es la URL JSON-RPC que conecta tu aplicación con mainnet o Sepolia de Starknet.
  • Los endpoints públicos son útiles para prototipos, pero las cargas de trabajo de producción necesitan límites predecibles y soporte.
  • Los endpoints de API privados y los nodos dedicados te dan más control, observabilidad y estabilidad.
  • Verifica la red, la versión de especificación RPC, el soporte de archivo y la disponibilidad de WebSocket antes de integrar.
  • OnFinality puede proporcionar infraestructura RPC y de nodos dedicados; consulta redes RPC compatibles y precios de RPC para más detalles.

Preguntas frecuentes

¿Cuál es el endpoint predeterminado de Starknet? No hay un único endpoint predeterminado. Necesitas una URL de proveedor o un endpoint público de un proveedor de nodos. Puedes encontrar listas mantenidas por la comunidad o usar el panel de tu proveedor. Para OnFinality, consulta redes RPC compatibles para obtener detalles actuales.

¿Es seguro un endpoint público de Starknet para producción? Los endpoints públicos suelen ser compartidos y con límites de tasa. Pueden funcionar para lecturas ligeras, pero las dApps de producción deben usar un endpoint privado o un nodo dedicado para obtener un rendimiento predecible y evitar depender de la disponibilidad de otra persona.

¿Cuál es la diferencia entre endpoints de mainnet y Sepolia? Los endpoints de mainnet interactúan con la producción de Starknet y activos reales. Los endpoints de Sepolia apuntan a la testnet y se usan para desarrollo. Son URLs separadas y devuelven un estado de cadena completamente diferente.

¿Starknet soporta endpoints WebSocket? Algunos proveedores ofrecen endpoints WebSocket para suscripciones en tiempo real. Consulta la documentación del proveedor antes de depender de ello. Si WebSocket no está disponible, es posible que necesites hacer polling o usar un nodo dedicado.

¿Cómo pruebo un endpoint de Starknet rápidamente? Envía una solicitud JSON-RPC de una línea con starknet_blockNumber usando curl. Si obtienes un número de bloque hexadecimal, el endpoint es accesible y está sincronizado.

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