Blockchain

如何拍攝比特幣區塊鏈的“快照”並進行分析?

  • August 9, 2022

我想做的事:

  1. 下載比特幣區塊鏈的副本
  2. 從中選擇所有那些擁有比特幣 (> 0.05 BTC) 並且超過 7 天沒有活躍的地址
  3. 以圖表的形式在網站上顯示統計數據,並能夠查看所有地址,每 7 天重複一次搜尋並更新統計數據

什麼?我不明白:

  1. 我可以通過 bitcoind 下載區塊鏈的副本,但我如何與之互動?如何進行分析?有沒有現成的實用程序呢?
  2. 需要多少時間和資源?

我可以通過 bitcoind 下載區塊鏈的副本,但我如何與之互動?如何進行分析?有沒有現成的實用程序呢?

您可以使用現有的區塊鏈解析器或編寫自己的軟體來讀取 blkXXXXX.dat 文件(如果使用 Windows,則在 %APPDATA%\Bitcoin\blocks 中)

我使用協議文件Go中編寫了我自己的解析器。

C> blockchain -file %APPDATA%\Bitcoin\blocks\blk02360.dat -longstats -block 115 -tx 2467

Transaction Details in Hex (Decimal/Symbolic):
 Version:................01000000 (1)
 Inputs:.................01 (1)
 Input:1
   Previous Transaction:.35A0AF1A2A97890EEE5FC3D614036ACF10C304D8C2E9B852626E8EA0E7063EA3
   Previous Output Index:0001 (1)
   Script Length:........6A (106)
   Script:...............47304402206EED6418DDDCEB242F5A9E33F74CBC71EC92916B55E95409D7DD2F
                         F05857CA6F02204DB6B0B24EAF200C32B18B19F31ADDF07CFF7FFF5BDE356871
                         D845C110F31EDA0121023A8F1E4FD676A7BD7366E5D232358E92838609875FAC
                         802E604BCEBE1C077CED
   Sequence:.............FFFFFFFF
 Outputs:................02 (2)
 Output 1
   Value:................9714000000000000 (5271)
   Script Length:........19 (25)
   Script:...............76A91412FB816154B441CD9C31B9D2BEA8DB8E6B77D02288AC
 Output 2
   Value:................228A000000000000 (35362)
   Script Length:........17 (23)
   Script:...............A914715CD328A4FFBC4A9099D406BE49181A61FEF37E87
 LockTime:...............00000000 (0)


Statistics for blk02360.dat (2020-12-12 to 2020-12-14)

  115 blocks
215639 transactions (1875.1 per block)
100901 Segwit tx    (46.8%)
644756 inputs       (mean 3.0, max 1100 per transaction)
604246 outputs      (mean 2.8, max 3451 per transaction)

Processed file in 313.6292ms

需要多少時間和資源?

根據我的經驗,下載區塊鏈數據將需要數小時或數週的時間,主要取決於您的儲存設備的速度。我懷疑使用 SSD 而不是 HDD 會有很大的不同。

處理一個塊文件的時間取決於所使用的軟體,但我的簡單範例顯示了一個典型的 128MB blkXXXXX.dat 文件可以在非常普通的硬體上在三分之一秒內解析。

您將不得不處理其中數千個。

編寫解析器的時間可能需要幾天或幾週,具體取決於您的經驗和您要執行的分析的複雜性。

引用自:https://bitcoin.stackexchange.com/questions/114804