tidligere i dag lanserte @heliuslabs en ny RPC-metode, getTransactionsForAddress (gTFA) La oss snakke om hvordan det fungerer under panseret Solana-transaksjoner refererer vanligvis til 6-10 kontoer (opptil ~256) når du spør "få meg historikken til konto X", ber du RPC om å skanne transaksjoner og finne de som inkluderer X i listen over kontoer Dette er i hovedsak å prøve å finne en nål i en høystakk Du kan ikke bare legge til en standardindeks på "Kontoer"-matrisen i stor skala – databaser sliter med indeksering av matriser med variabel lengde Løsningen: Vi bygde vår egen indeks, med én oppføring per unike (transaksjon, konto) par Dette er ingen liten bragd – det er ~493 milliarder transaksjoner (og voksende) Indeksen vår har for tiden over 2,3 billioner (!) rader til tross for størrelsen, er P50-oppslagstiden ~8ms under produksjonsbelastning og vi har mange andre indekser for å drive oppslag etter spor, tid, status osv alle kjører på spesialbygde bare metal-verter med petabyte av førsteklasses NVME-er, replikert på tvers av flere regioner TLDR – Vi led så du trenger ikke å gjøre det nyte