oggi @heliuslabs ha lanciato un nuovo metodo RPC, getTransactionsForAddress (gTFA) parliamo di come funziona sotto il cofano le transazioni di solana tipicamente fanno riferimento a 6-10 account (fino a ~256) quando chiedi "fammi vedere la cronologia dell'account X", stai chiedendo all'RPC di esaminare le transazioni e trovare quelle che includono X nella loro lista di account questo è essenzialmente cercare un ago in un pagliaio non puoi semplicemente aggiungere un indice standard all'array "accounts" su larga scala – i database faticano con l'indicizzazione di array di lunghezza variabile la soluzione: abbiamo costruito il nostro indice, con un'entrata per ogni coppia unica (transazione, account) questo non è un'impresa da poco – ci sono ~493 miliardi di transazioni (e in crescita) il nostro indice attualmente contiene oltre 2,3 trilioni (!) di righe nonostante le dimensioni, il tempo di ricerca P50 è di ~8ms sotto carico di produzione e abbiamo molti altri indici per alimentare le ricerche per slot, tempo, stato, ecc tutto in esecuzione su host bare metal progettati appositamente con petabyte di NVMEs di alta gamma, replicati in più regioni in sintesi – abbiamo sofferto affinché tu non debba farlo buon divertimento