Flujo de datos
Los datos siguen un pipeline de cuatro capas desde la red Stellar hasta la interfaz de usuario.
1. Clientes SDK (client.ts)
Sección titulada «1. Clientes SDK (client.ts)»Las funciones de fábrica crean y almacenan en caché las instancias del SDK de Stellar:
getHorizonClient(network)— Devuelve una instanciaHorizon.Serveren cachégetRpcClient(network)— Devuelve una instanciarpc.Serveren caché
Los clientes se almacenan en un Map<NetworkKey, StellarClients> y se reutilizan en toda la aplicación.
Fuente: src/lib/stellar/client.ts
2. Definiciones de consulta (queries.ts)
Sección titulada «2. Definiciones de consulta (queries.ts)»Las fábricas de opciones de TanStack Query definen cómo obtener y cachear cada tipo de dato:
stellarKeys— Fábrica de claves de caché jerárquica:["stellar", network, "transactions", hash]stellarQueries— Fábricas de opciones de consulta que combinan claves con funciones de obtención
Las entidades inmutables (ledgers, transacciones finalizadas, código de contrato) usan staleTime: Infinity. Los datos mutables usan staleTime: 10_000 (10 segundos).
Fuente: src/lib/stellar/queries.ts
3. Hooks personalizados (hooks/)
Sección titulada «3. Hooks personalizados (hooks/)»Los hooks envuelven TanStack Query y proporcionan acceso a datos con conciencia de red:
- Hooks
useStellarQuery(p. ej.,useLatestLedger(),useLedger(sequence)) — Hooks de consulta estándar - Hooks
useStreaming(p. ej.,useLedgerStream()) — Datos en tiempo real vía la API de streaming de Horizon
Todos los hooks leen la red actual desde el contexto useNetwork() automáticamente.
Fuente: src/lib/hooks/
4. Componentes React
Sección titulada «4. Componentes React»Los componentes consumen hooks y renderizan los datos. Gestionan estados de carga, errores y paginación a través de la gestión de estado integrada de TanStack Query.