Skip to main content
Optimizar el uso de RPC puede mejorar significativamente el rendimiento, reducir costos y optimizar la experiencia del usuario. Esta guía abarca técnicas comprobadas para interactuar de forma eficiente con RPC de Solana.

Inicio rápido

Transaction Optimization

Optimiza las unidades de cómputo, las comisiones de prioridad y el envío de transacciones

Data Retrieval

Patrones eficientes para obtener datos de cuentas y programas

Real-time Monitoring

Suscripciones WebSocket y optimización de la transmisión de datos

Best Practices

Pautas de rendimiento y administración de recursos

Optimización de transacciones

Administración de unidades de cómputo

1. Simula para determinar el uso real:
2. Establece límites adecuados con un margen:

Optimización de comisiones de prioridad

1. Obtén estimaciones dinámicas de comisiones:
2. Aplica la comisión de prioridad:

Prácticas recomendadas para enviar transacciones

Optimización de la recuperación de datos

Métodos de paginación mejorados (V2)

Para consultas de datos a gran escala, usa los nuevos métodos V2 con paginación basada en cursores:

⚡ Performance Boost

getProgramAccountsV2 y getTokenAccountsByOwnerV2 ofrecen mejoras significativas de rendimiento para las aplicaciones que trabajan con grandes conjuntos de datos:
  • Límites configurables: de 1 a 10 000 cuentas por solicitud
  • Paginación basada en cursores: evita tiempos de espera agotados en consultas grandes
  • Actualizaciones incrementales: usa changedSinceSlot para la sincronización en tiempo real
  • Mejor uso de la memoria: transmite los datos en lugar de cargar todo a la vez
Ejemplo: consulta eficiente de cuentas de programas
Actualizaciones incrementales para aplicaciones en tiempo real:

Optimización de la recuperación de datos

Consultas eficientes de cuentas

Consultas de saldos de tokens

Historial de transacciones

Para obtener el historial completo de una dirección, usa getTransactionsForAddress, un método exclusivo de Helius que devuelve los datos completos de las transacciones, incluida la actividad de las cuentas de tokens asociadas, en una sola llamada:

Historial de transferencias

Cuando solo necesites movimientos de tokens o SOL —pagos, actividad de portafolios o conciliación de saldos—, usa getTransfersByAddress (exclusivo de Helius; requiere un plan Developer o superior). Devuelve objetos de transferencia analizados y legibles, con los propietarios, acuñaciones, importes y decimales ya resueltos, por lo que puedes omitir por completo el análisis de transacciones:
Regla general: usa getTransactionsForAddress cuando necesites las cargas útiles completas de las transacciones o actividad que no sea de transferencias, y getTransfersByAddress cuando necesites registros de transferencias limpios para libros contables y seguimiento de pagos.

Monitoreo en tiempo real

Suscripciones a cuentas

Monitoreo de cuentas de programas

Monitoreo de transacciones

Patrones avanzados

Lógica inteligente de reintentos

Procesamiento eficiente en el uso de memoria

Agrupación de conexiones

Monitoreo del rendimiento

Controla el uso de RPC

Prácticas recomendadas

Niveles de confirmación

  • Úsalo para: suscripciones WebSocket y actualizaciones en tiempo real
  • Latencia: ~400 ms
  • Confiabilidad: adecuada para la mayoría de las aplicaciones

Administración de recursos

Manejo de errores

Errores comunes que debes evitar

Evita estos errores comunes:
  • Realizar sondeos en lugar de usar suscripciones WebSocket
  • Obtener todos los datos de una cuenta cuando solo se necesitan datos parciales
  • No usar operaciones por lotes para varias consultas
  • Ignorar los límites de solicitudes y no implementar una lógica de reintentos adecuada
  • Usar el nivel de confirmación finalized cuando confirmed es suficiente
  • No cerrar las suscripciones, lo que provoca fugas de memoria

Métodos relacionados

Las técnicas de optimización de esta guía hacen referencia a los siguientes métodos WebSocket y RPC:

getTransactionsForAddress

Historial completo de transacciones con filtrado, ordenamiento y compatibilidad con cuentas de tokens (exclusivo de Helius)

getTransfersByAddress

Historial analizado de transferencias de tokens y SOL para pagos y conciliaciones (exclusivo de Helius)

getTransaction

Recupera los detalles completos de una transacción mediante su firma

getProgramAccounts

Obtén todas las cuentas que pertenecen a un programa

getTokenAccountsByOwner

Obtén las cuentas de tokens de una billetera

getMultipleAccountsInfo

Obtén por lotes los detalles de varias cuentas

getAccountInfo

Obtén información sobre una sola cuenta

accountSubscribe

Suscríbete a los cambios de una cuenta mediante WebSocket

programSubscribe

Suscríbete a los cambios de las cuentas de un programa mediante WebSocket

logsSubscribe

Suscríbete a los registros de transacciones mediante WebSocket

Resumen

Al implementar estas técnicas de optimización, puedes conseguir lo siguiente:
  • Reducción del 60 al 90 % en el volumen de llamadas a la API
  • Latencia significativamente menor para las operaciones en tiempo real
  • Menor uso de ancho de banda mediante consultas específicas
  • Mayor resistencia a errores con una lógica inteligente de reintentos
  • Menores costos operativos mediante un uso eficiente de los recursos

Next Steps

¿Todo listo para implementar estas optimizaciones? Consulta nuestra Guía de optimización de transacciones para conocer las prácticas recomendadas específicas de las transacciones.