mai devreme astăzi @heliuslabs lansat o nouă metodă RPC, getTransactionsForAddress (gTFA) Să vorbim despre cum funcționează sub capotă Tranzacțiile Solana se referă de obicei la 6-10 conturi (până la ~ 256) când întrebați "obțineți istoricul contului X", cereți RPC să scaneze tranzacțiile și să le găsească pe cele care includ X în lista lor de conturi Aceasta este în esență încercarea de a găsi un ac într-un car de fân Nu puteți adăuga pur și simplu un index standard pe matricea "Accounts" la scară – bazele de date se luptă cu indexarea matricelor de lungime variabilă Soluția: ne-am construit propriul index, cu o intrare pe pereche unică (tranzacție, cont) Aceasta nu este o ispravă mică – există ~ 493 miliarde de tranzacții (și în creștere) Indicele nostru deține în prezent peste 2,3 trilioane (!) de rânduri în ciuda dimensiunii, timpul de căutare P50 este de ~8 ms sub sarcină de producție și avem mulți alți indici pentru a alimenta căutările după slot, oră, stare etc toate rulează pe gazde bare metal special construite, cu petabytes de NVME-uri de top, replicate în mai multe regiuni TLDR – Am suferit pentru ca tu să nu trebuiască să delecta