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

Starknet RPC: Endpoints, Proveedores y Mejores Prácticas

Resumen

Starknet es un ZK-rollup en Ethereum que utiliza pruebas STARK para escalabilidad. Para interactuar con Starknet, necesitas un endpoint RPC. Esta guía cubre endpoints RPC públicos y privados de Starknet, cómo elegir un proveedor y consejos comunes de solución de problemas para desarrolladores.

Lista de Verificación para Decidir sobre Starknet RPC

Antes de integrar un proveedor RPC de Starknet, considera estos criterios:

CriterioQué verificarPor qué es importante
Soporte de redMainnet, testnet SepoliaAsegúrate de que el proveedor soporte las redes que necesitas para desarrollo y producción.
Límites de tasaSolicitudes por segundo (RPS) y límite diarioLas dApps de alto tráfico requieren límites más altos para evitar estrangulamiento.
FiabilidadHistorial de tiempo de actividad, redundanciaEl tiempo de inactividad puede interrumpir tu aplicación; elige proveedores con fiabilidad probada.
LatenciaDistribución geográfica de los nodosMenor latencia mejora la experiencia del usuario, especialmente para operaciones sensibles al tiempo.
Datos de archivoAcceso al estado históricoNecesario para análisis, exploradores y ciertas características de dApps.
Modelo de preciosNivel gratuito, pago por uso o nodo dedicadoAjusta el precio a tu patrón de uso y presupuesto.
Compatibilidad de APIMétodos JSON-RPC soportadosVerifica que el proveedor soporte los métodos que tu aplicación requiere.
SeguridadSoporte HTTPS, WebSocket, características de privacidadProtege los datos en tránsito y considera relays centrados en privacidad si es necesario.

¿Qué es Starknet RPC?

Starknet RPC (Llamada a Procedimiento Remoto) es la interfaz estándar para comunicarse con la red Starknet. Permite que carteras, dApps y servicios backend envíen transacciones, consulten saldos de cuentas, lean el estado de contratos e interactúen con contratos inteligentes. El protocolo RPC sigue la especificación JSON-RPC 2.0, con métodos específicos de Starknet definidos en la especificación de la API de Starknet.

Starknet utiliza un modelo único de abstracción de cuentas donde cada cuenta es un contrato inteligente. Esto significa que las interacciones RPC a menudo implican desplegar e invocar contratos a través de los métodos starknet_call y starknet_sendTransaction.

Endpoints RPC de Starknet

Starknet proporciona endpoints RPC tanto públicos como privados. Los endpoints públicos son gratuitos pero a menudo tienen límites de tasa y pueden no ser adecuados para producción. Los endpoints privados ofrecen límites más altos, recursos dedicados y mejor fiabilidad.

Endpoints Públicos

  • https://public.1rpc.io/starknet (1RPC)
  • https://starknet-rpc.publicnode.com (Allnodes)
  • https://starknet.drpc.org (dRPC)
  • https://rpc.starknet.lava.build (Lava)
  • https://starknet.api.onfinality.io/public (OnFinality)

Endpoints Privados (requieren clave API)

  • https://starknet-mainnet.g.alchemy.com/v2/<api-key> (Alchemy)
  • https://starknet-mainnet.infura.io/v3/<api-key> (Infura)
  • https://starknet.api.onfinality.io/v1/<api-key> (OnFinality)

Testnet (Sepolia)

  • https://starknet-sepolia-rpc.publicnode.com (Allnodes)
  • https://rpc.starknet-testnet.lava.build (Lava)
  • https://starknet-sepolia.api.onfinality.io/public (OnFinality)

Cómo Usar Starknet RPC

Para conectarte a Starknet, necesitas una URL RPC y un cliente JSON-RPC. A continuación, un ejemplo usando curl para consultar el número del último bloque.

curl https://starknet.api.onfinality.io/public \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{
    "jsonrpc": "2.0",
    "method": "starknet_blockNumber",
    "params": [],
    "id": 1
  }'

Para JavaScript (usando ethers o starknet.js):

import { Provider } from 'starknet';

const provider = new Provider({
  rpc: { nodeUrl: 'https://starknet.api.onfinality.io/public' }
});

const blockNumber = await provider.getBlockNumber();
console.log(blockNumber);

Elegir un Proveedor RPC de Starknet

Al seleccionar un proveedor, considera los siguientes factores:

  • Soporte de Red: Asegúrate de que el proveedor soporte la mainnet y testnet de Starknet (Sepolia).
  • Límites de Tasa: Los niveles gratuitos típicamente permiten 10-100 solicitudes por segundo. Para dApps de alto tráfico, busca planes de pago o nodos dedicados.
  • Fiabilidad: Verifica el historial de tiempo de actividad y si el proveedor ofrece redundancia en múltiples centros de datos.
  • Latencia: Los proveedores con distribución global de nodos pueden ofrecer menor latencia.
  • Datos de Archivo: Algunos proveedores ofrecen acceso al estado histórico, esencial para análisis y exploradores.
  • Precios: Compara niveles gratuitos, pago por uso y precios de nodos dedicados. OnFinality ofrece precios transparentes para Starknet RPC.

Para una comparación detallada de proveedores RPC, consulta nuestra guía sobre cómo elegir un proveedor RPC.

Errores Comunes y Solución de Problemas

1. Límite de Tasa

Los endpoints públicos a menudo tienen límites de tasa estrictos. Si recibes errores HTTP 429, considera actualizar a un endpoint privado o usar un nodo dedicado.

2. ID de Red Incorrecto

El ID de cadena de la mainnet de Starknet es 0x534e5f4d41494e (SN_MAIN). El ID de cadena de la testnet Sepolia es 0x534e5f5345504f4c4941 (SN_SEPOLIA). Verifica tu configuración.

3. Métodos No Soportados

No todos los proveedores soportan todos los métodos JSON-RPC. Por ejemplo, starknet_getStateUpdate puede no estar disponible en algunos endpoints públicos. Consulta la documentación del proveedor.

4. Conexiones WebSocket

Para actualizaciones en tiempo real, usa endpoints WebSocket. Ejemplo:

wss://starknet.api.onfinality.io/public/ws

5. Fallos de Transacciones

Las transacciones de Starknet pueden fallar debido a tarifas insuficientes, nonce inválido o errores de contrato. Usa starknet_getTransactionReceipt para depurar.

Starknet RPC vs. Otras Redes

El RPC de Starknet difiere del de Ethereum en varios aspectos:

  • Abstracción de cuentas: Cada cuenta es un contrato; las transacciones se invocan mediante starknet_addInvokeTransaction.
  • Modelo de tarifas: Starknet usa un token de tarifa separado (STRK) y un cálculo de tarifas único.
  • Tiempo de bloque: Los bloques se producen cada 20-60 segundos, más rápido que Ethereum.

Conclusiones Clave

  • Starknet RPC es esencial para interactuar con la red Starknet.
  • Elige un proveedor basado en soporte de red, límites de tasa, fiabilidad y precios.
  • Los endpoints públicos son adecuados para desarrollo; los endpoints privados se recomiendan para producción.
  • Siempre prueba con una testnet antes de desplegar en mainnet.
  • OnFinality proporciona endpoints RPC escalables de Starknet con precios transparentes. Consulta nuestras redes soportadas y precios para más detalles.

FAQ

¿Cuál es la URL RPC de Starknet?

Las URLs RPC públicas de la mainnet de Starknet incluyen https://starknet.api.onfinality.io/public, https://public.1rpc.io/starknet y https://starknet.drpc.org. Los endpoints privados requieren una clave API.

¿Cómo obtengo un endpoint RPC de Starknet?

Puedes usar un endpoint público de forma gratuita o registrarte con un proveedor como OnFinality para obtener un endpoint privado con límites de tasa más altos y soporte dedicado.

¿Es Starknet RPC compatible con MetaMask?

No, MetaMask solo soporta cadenas compatibles con EVM. Starknet usa una máquina virtual diferente (Cairo VM), por lo que necesitas una cartera compatible con Starknet como Argent X o Braavos.

¿Cuál es la diferencia entre la mainnet de Starknet y la testnet Sepolia?

La mainnet es la red de producción con activos reales. Sepolia es una testnet para desarrollo y pruebas. Ambas tienen endpoints RPC separados.

¿Cómo elijo entre RPC público y privado?

Usa endpoints públicos para prototipado y aplicaciones de bajo tráfico. Para dApps de producción con alto tráfico, elige un endpoint privado o nodo dedicado para garantizar fiabilidad y rendimiento.

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