Hoy @heliuslabs lanzado un nuevo método RPC, getTransactionsForAddress (gTFA) Hablemos de cómo funciona bajo el capó Las transacciones de Solana suelen hacer referencia a 6-10 cuentas (hasta ~256) cuando consulta "consígueme el historial de la cuenta X", le estás pidiendo al RPC que escanee las transacciones y encuentre las que incluyen X en su lista de cuentas Esto es esencialmente tratar de encontrar una aguja en un pajar No puede simplemente agregar un índice estándar en la matriz "Cuentas" a escala: las bases de datos luchan con la indexación de matrices de longitud variable La solución: Construimos nuestro propio índice, con una entrada por par único (transacción, cuenta) Esto no es poca cosa: hay ~ 493 mil millones de transacciones (y creciendo) Nuestro índice tiene actualmente más de 2,3 billones (!) de filas a pesar del tamaño, el tiempo de búsqueda del P50 es de ~8 ms bajo carga de producción y tenemos muchos otros índices para potenciar las búsquedas por ranura, hora, estado, etc todos se ejecutan en hosts bare metal especialmente diseñados con petabytes de NVME de primera línea, replicados en múltiples regiones TLDR: sufrimos para que tú no tengas que hacerlo disfrutar