W wolnym czasie sobie pracuję…

2 lutego 2019

W wolnym czasie sobie pracuję nad Indexerem dla Bitcoina. https://github.com/dpc/rust-bitcoin-indexer

Zbiera on to co się dzieje na blockchainie i wrzuca do bazy danych. Dzieki temu można w łatwy sposób robić zapytania SQL. Np. jaki adres ma ile kasy, albo ile miał kasy kiedy blockchain był w danym momencie (wysokość ostatniego bloku). Można też sortować, sumować itd. – co kto lubi.

Na pełny węzeł Bitcoin potrzebowałem 236GB, zindeksowana baza danych całej obecnej historii to około 250GB. Zindeksowanie wszystkiego na moim desktopie zajmuje jakieś 8-10h.

Ciekawostki:

W chwili obecnej Bitcoin wykonał 378 millionów transakcji:

bitcoin-indexer=> select count(*) from txs;
count
———–
378164005
(1 row)

Liczba niewydanych „wyjść” (UTXO Set) to 63 milliony:

„`
bitcoin-indexer=> select count(*) from outputs LEFT JOIN inputs ON (outputs.id = inputs.output_id) WHERE inputs.output_id IS NULL;

count
———-
63806289
(1 row)
„`

Jakby ktoś miał jakieś inne pytania, to mogę spróbować stworzyć i uruchomić zapytanie SQL, które na to odpowie. 🙂

#bitcoin

No Comments

Comments are closed.