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

Sui JSON-RPC: métodos, endpoints y cómo usarlos

Resumen

Sui JSON-RPC es la interfaz estándar para interactuar con la blockchain de Sui, permitiendo a los desarrolladores consultar datos de la cadena, enviar transacciones y suscribirse a eventos. Este artículo explica los métodos principales, cómo conectarse a los endpoints de Sui y los errores comunes a evitar al construir en Sui.

Decisión rápida: cómo conectarse a Sui JSON-RPC

Antes de profundizar en los métodos, decide qué tipo de endpoint se adapta a tu caso de uso. Para consultas simples y tráfico ligero, un endpoint público funciona, pero para aplicaciones de producción necesitas fiabilidad y escalabilidad. OnFinality proporciona endpoints RPC de Sui gestionados que manejan la carga de la infraestructura, permitiéndote centrarte en tu aplicación.

Si estás construyendo una aplicación de producción, considera usar un nodo dedicado para evitar límites de tasa y asegurar un rendimiento consistente. Para pruebas o proyectos pequeños, un endpoint público compartido es suficiente. Consulta los precios de RPC para entender las opciones.

¿Qué es Sui JSON-RPC?

Sui JSON-RPC es un protocolo de llamada a procedimiento remoto que permite a los clientes interactuar con la blockchain de Sui. Sigue la especificación JSON-RPC 2.0, proporcionando una forma estandarizada de consultar el estado de la cadena, enviar transacciones y escuchar eventos. A diferencia del JSON-RPC de Ethereum, Sui utiliza su propio conjunto de métodos adaptados a su modelo de datos centrado en objetos.

El JSON-RPC de Sui es esencial para desarrolladores que construyen billeteras, exploradores, dApps y servicios de indexación. Abstrae la complejidad del nodo subyacente, ofreciendo una interfaz limpia para leer y escribir datos.

Resumen de métodos de Sui JSON-RPC

Los métodos de Sui JSON-RPC se agrupan en varias categorías:

  • Información de la cadena: sui_getChainIdentifier, sui_getProtocolConfig, sui_getLatestCheckpointSequenceNumber
  • Objetos: sui_getObject, sui_multiGetObjects, sui_getDynamicFieldObject
  • Transacciones: sui_getTransactionBlock, sui_executeTransactionBlock, sui_dryRunTransactionBlock
  • Eventos: sui_getEvents, sui_subscribeEvent
  • Monedas y saldos: sui_getBalance, sui_getAllBalances, sui_getCoins
  • Módulos Move: sui_getMoveFunctionArgTypes, sui_getNormalizedMoveModule

Cada método tiene un propósito específico, y entenderlos es clave para un desarrollo eficiente.

Endpoints de Sui JSON-RPC

Para interactuar con Sui, necesitas una URL de endpoint. OnFinality proporciona endpoints públicos tanto para Sui Mainnet como para Testnet. Para uso en producción, debes registrarte para obtener un endpoint dedicado con mayor rendimiento y fiabilidad.

Estos son los endpoints públicos oficiales de OnFinality:

  • Sui Mainnet: https://sui-rpc.publicnode.com
  • Sui Testnet: https://sui-testnet-rpc.publicnode.com

Estos endpoints son para pruebas y uso ligero. Para producción, considera usar un nodo dedicado para evitar límites de tasa y asegurar disponibilidad.

Cómo hacer solicitudes a Sui JSON-RPC

Puedes interactuar con Sui JSON-RPC usando cualquier cliente HTTP. Aquí tienes un ejemplo usando curl para obtener el identificador de la cadena:

curl -X POST https://sui-rpc.publicnode.com \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sui_getChainIdentifier",
    "params": []
  }'

Esto devuelve el identificador de la cadena, que es útil para verificar que estás conectado a la red correcta.

Sui JSON-RPC vs. Ethereum JSON-RPC: diferencias clave

El JSON-RPC de Sui difiere significativamente del de Ethereum. Mientras que Ethereum usa un modelo basado en cuentas, Sui usa objetos. Esto afecta cómo consultas datos y envías transacciones.

AspectoSui JSON-RPCEthereum JSON-RPC
Modelo de datosCentrado en objetosCentrado en cuentas
Formato de transacciónEspecífico de SuiEthereum estándar
Métodos comunessui_getObject, sui_executeTransactionBlocketh_getBalance, eth_sendTransaction
Suscripción a eventossui_subscribeEventeth_subscribe

Entender estas diferencias te ayuda a evitar confusiones al migrar desde Ethereum.

Errores comunes de Sui JSON-RPC y solución de problemas

Al trabajar con Sui JSON-RPC, puedes encontrar errores. Aquí tienes algunos comunes y cómo solucionarlos:

  • -32000 Error de servidor: A menudo debido a parámetros inválidos. Revisa tu carga útil de solicitud.
  • -32602 Parámetros inválidos: Asegúrate de pasar los tipos correctos y los campos requeridos.
  • -32601 Método no encontrado: Verifica que el nombre del método esté bien escrito y sea compatible.
  • -32700 Error de análisis: Tu JSON está mal formado. Valida el cuerpo de tu solicitud.

Si estás usando un endpoint público y alcanzas los límites de tasa, considera actualizar a un nodo dedicado para obtener límites más altos.

Mejores prácticas de Sui JSON-RPC

Para construir aplicaciones fiables en Sui, sigue estas prácticas:

  • Usa WebSocket para actualizaciones en tiempo real: Para suscripciones a eventos, usa WebSocket para evitar el sondeo.
  • Solicitudes por lotes: Al consultar múltiples objetos, usa sui_multiGetObjects para reducir los viajes de ida y vuelta.
  • Maneja los límites de tasa con elegancia: Implementa retroceso exponencial para los reintentos.
  • Monitorea tu uso: Realiza un seguimiento de tu volumen de solicitudes para evitar límites inesperados.

Conclusiones clave

  • Sui JSON-RPC es esencial para interactuar con la blockchain de Sui.
  • Elige el tipo de endpoint adecuado según tus necesidades: público para pruebas, dedicado para producción.
  • Entiende las diferencias entre Sui y Ethereum JSON-RPC para evitar confusiones.
  • Soluciona errores comunes revisando el formato de tu solicitud y los nombres de los métodos.
  • Para producción, considera usar un servicio gestionado como OnFinality para asegurar fiabilidad.

Preguntas frecuentes

¿Cuál es el endpoint de Sui JSON-RPC?

OnFinality proporciona endpoints públicos para Sui Mainnet y Testnet. Para producción, puedes obtener un endpoint dedicado desde la página de red de Sui de OnFinality.

¿Cómo obtengo el ID de la cadena Sui?

Usa el método sui_getChainIdentifier para obtener el identificador de la cadena.

¿Puedo usar WebSocket con Sui JSON-RPC?

Sí, Sui soporta WebSocket para suscripciones a eventos. OnFinality proporciona endpoints WebSocket para Sui.

¿Cuál es la diferencia entre Sui y Ethereum JSON-RPC?

Sui usa un modelo centrado en objetos, mientras que Ethereum usa cuentas. Esto afecta los métodos y las estructuras de datos utilizados.

¿Cómo soluciono errores de Sui JSON-RPC?

Revisa el formato de tu solicitud, los nombres de los métodos y los parámetros. Si estás alcanzando los límites de tasa, considera actualizar a un nodo dedicado.

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