国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何將Bitcoin比特幣區塊鏈數據導入關系數據庫

數據庫
在接觸了比特幣和區塊鏈后,我一直有一個想法,就是把所有比特幣的區塊鏈數據放入到關系數據庫(比如SQL Server)中,然后當成一個數據倉庫,做做比特幣交易數據的各種分析。想法已經很久了,但是一直沒有實施。最近正好有點時間,于是寫了一個比特幣區塊鏈的導出導入程序。

[[195168]]

在接觸了比特幣和區塊鏈后,我一直有一個想法,就是把所有比特幣的區塊鏈數據放入到關系數據庫(比如SQL Server)中,然后當成一個數據倉庫,做做比特幣交易數據的各種分析。想法已經很久了,但是一直沒有實施。最近正好有點時間,于是寫了一個比特幣區塊鏈的導出導入程序。

一、準備

我們要解析的是存儲在本地硬盤上的Bitcoin Core錢包的全量比特幣數據,那么首先就是要下載并安裝好Bitcoin Core,下載地址:https://bitcoin.org/en/download 然后就等著這個軟件同步區塊鏈數據吧。目前比特幣的區塊鏈數據大概130G,所以可能需要好幾天,甚至一個星期才能將所有區塊鏈數據同步到本地。當然如果你很早就安裝了這個軟件,那么就太好了,畢竟要等好幾天甚至一個星期,真的很痛苦。

二、建立比特幣區塊鏈數據模型

要進行區塊鏈數據的分析,那么必須得對區塊鏈的數據模型了解才行。我大概研究了一下,可以總結出4個實體:區塊、交易、輸入、輸出。而其中的關系是,一個區塊對應多個交易,一個交易對應多個輸入和多個輸出。除了Coinbase的輸入外,一筆輸入對應另一筆交易中的輸出。于是我們可以得出這樣的數據模型:

需要特別說明幾點的是:

1.TxId是自增的int,我沒有用TxHash做Transaction的PK,那是因為TxHash根本就不唯一啊!有好幾個不同區塊里面的***筆交易,也就是Coinbase交易是相同的。這其實應該是異常數據,因為相同的TxHash將導致只能花費一次,所以這個礦工杯具了。

2.對于一筆Coinbase 的Transaction,其輸入的PreOutTxId是0000000000000000000000000000000000000000000000000000000000000000,而其PreOutIndex是-1,這是一條不存在的TxOutput,所以我并沒有建立TXInput和TxOutput的外鍵關聯。

3.對于Block,PreId就是上一個Block的ID,而創世區塊的PreId是0000000000000000000000000000000000000000000000000000000000000000,也是一個不存在的BlockId,所以我沒有建立Block的自引用外鍵。

4.有很多字段其實并不是區塊鏈數據結構中的,這些字段是我添加為了接下來方便分析用的。在導入的時候并沒有值,需要經過一定的SQL運算才能得到。比如Trans里面的TotalInAmount,TransFee等。

我用的是PowerDesigner,建模完成后,生成SQL語句,即可。這是我的建表SQL:

  1. View Code 

三、導出區塊鏈數據為CSV

數據模型有了,接下來我們就是建立對應的表,然后寫程序將比特幣的Block寫入到數據庫中。我本來用的是EntityFramework來實現插入數據庫的操作。但是后來發現實在太慢,插入一個Block甚至要等10多20秒,這要等到何年何月才能插入完啊!我試了各種方案,比如寫原生的SQL,用事務,用LINQToSQL等,性能都很不理想。***終于找到了一個好辦法,那就是直接導出為文本文件(比如CSV格式),然后用SQL Server的Bulk Insert命令來實現批量導入,這是我已知的最快的寫入數據庫的方法。

解析Bitcoin Core下載下來的所有比特幣區塊鏈數據用的還是NBitcoin這個開源庫。只需要用到其中的BlockStore 類,即可輕松實現區塊鏈數據的解析。

以下是我將區塊鏈數據解析為我們的Block對象的代碼:

  1. View Code 

至于WriteBitcoin2Csv方法,就是以一定的格式,把Block、Trans、TxInput、TxOutput這4個對象分別寫入4個文本文件中即可。

四、將CSV導入SQL Server

在完成了CSV文件的導出后,接下來就是怎么將CSV文件導入到SQL Server中。這個很簡單,只需要執行BULK INSERT命令。比如這是我在測試的時候用到的SQL語句:

  1. bulk insert [Block] from 'F:\temp\blk205867.csv';  
  2. bulk insert Trans from 'F:\temp\trans205867.csv';  
  3. bulk insert TxInput from 'F:\temp\input205867.csv';  
  4. bulk insert TxOutput from 'F:\temp\output205867.csv'

當然在實際的情況中,我并不是這么做的。我是每1000個Block就生成4個csv文件,然后使用C#連接到數據庫,執行bulk insert命令。執行完成后再把這生成的4個csv文件刪除,然后再循環繼續導出下一批1000個Block。因為比特幣的區塊鏈數據實在太大了,如果我不分批,那么我的PC機硬盤就不夠用了,而且在導入SQL Server的時候我也懷疑能不能導入那么大批量的數據。

***,附上一張我正在導入中的進程圖,已經導了一天了,還沒有完成,估計還得再花一、兩天時間吧。

image

所有區塊鏈數據都進入數據庫以后,就要發揮一下我的想象力,看能夠分析出什么有意思的結果了。

責任編輯:武曉燕 來源: 博客園
相關推薦

2018-10-15 13:57:38

Hadoop數據庫MySQL

2021-01-11 22:43:14

區塊鏈比特幣貨幣

2019-11-26 09:21:49

區塊鏈比特幣虛擬貨幣

2019-09-29 19:28:13

區塊鏈比特幣加密貨幣

2017-11-21 08:36:00

MongoDB關系型數據庫數據導入

2017-12-25 23:32:23

2021-08-06 12:50:43

區塊鏈比特幣虛擬貨幣

2023-10-10 11:18:42

Spring數據庫

2020-08-04 14:39:06

比特幣區塊鏈數字貨幣

2021-01-18 11:09:42

區塊鏈比特幣工具

2019-04-02 15:00:53

2021-03-02 08:49:00

區塊鏈比特幣技術

2011-08-15 10:02:02

LEIDomino附件關系數據庫

2022-01-14 11:23:57

區塊鏈比特幣加密貨幣

2018-04-02 15:06:53

比特幣區塊鏈ICO

2021-03-08 11:17:44

區塊鏈比特幣安全

2018-05-29 16:20:55

區塊鏈比特幣

2018-08-23 10:33:03

區塊鏈比特幣數字貨幣

2020-06-22 09:10:00

區塊鏈比特幣網絡

2018-12-12 15:25:33

比特幣數字貨幣區塊鏈
點贊
收藏

51CTO技術棧公眾號

日韩美女在线看免费观看| 欧美黄免费看| 欧美日韩一本到| 五月天婷婷综合社区| 久久精品一区二区三区不卡| www.xxx麻豆| 日韩影院免费视频| 亚洲xxxxx性| 国产精品一区高清| 日本一区二区在线播放| 久久久久久爱| 欧美精品亚州精品| 欧美特黄色片| 久久电影一区二区| 北条麻妃一区二区三区在线| 欧美刺激性大交免费视频| 欧美一区二区三区婷婷| 精品国偷自产在线视频| 亚洲精品观看| 91福利视频网| 色狮一区二区三区四区视频| 成人免费视频网址| 一个色综合网| 久久久久久久久久码影片| 久久一区中文字幕| 看一级黄色录像| 国产麻豆欧美日韩一区| 国产人妻777人伦精品hd| 91免费在线播放| 午夜在线观看av| 亚洲高清不卡在线观看| 精品无人乱码| 精品少妇一区二区三区| 色是在线视频| 欧美成人高清视频| 国产一区二区三区电影在线观看| 91理论片午午论夜理片久久| 99在线精品视频在线观看| 日韩.欧美.亚洲| 国产成人av电影免费在线观看| 免费日韩中文字幕| 亚洲自拍偷拍九九九| 免费福利在线视频| 精品蜜桃在线看| 欧美午夜三级| 国产精品久久久久久av福利软件| 国内自拍一区| 国产精品一二三在线观看| 日本ー区在线视频| av午夜精品一区二区三区| 亚洲18私人小影院| 国产1区2区3区在线| 美女国产精品| 大桥未久一区二区三区| 欧美激情一区不卡| 成年人视频在线观看免费| 精品视频久久久| 精品久久ai电影| 精品国产综合久久| 99在线热播精品免费| 免费观影入口看日本视频| 色94色欧美sute亚洲13| 一根才成人网| 成人日韩av在线| 成人高清在线视频| 第一福利在线| 久久久久久中文字幕| 一本久久综合| 国产三级三级看三级| 日韩精品一区二区三区三区免费| 最新精品在线| 亚洲成人蜜桃| 亚洲成人综合在线| 亚洲男女网站| 欧美精品一区在线发布| 亚洲欧洲99久久| 亚洲最新无码中文字幕久久| 91免费的视频在线播放| 91性感美女视频| av在线播放观看| 国产精品久久久久久久久男 | 欧美日韩dvd| 天天影视涩香欲综合网| 午夜av成人| 国产一区精品在线| 亚洲色图欧美在线| 色尼玛亚洲综合影院| 国产激情一区二区三区在线观看| 久久精品一区二区三区四区| 五月婷婷视频在线观看| 成人免费视频网址| 中文字幕综合网| 91成人精品观看| 国内外成人激情免费视频| 欧美日韩日日骚| 狠狠综合久久av一区二区蜜桃 | 亚洲男人第一av网站| 欧美激情日韩| 国产性一级片| 欧美久久精品一级黑人c片| 日本成人中文字幕| 中文字幕乱码亚洲精品一区 | 日本在线视频一区二区| 欧美极品少妇xxxxⅹ免费视频| 国产欧美在线观看免费| 欧美成人官网二区| 亚洲中文字幕无码专区| 国产一区二区三区探花| 污污污污污污www网站免费| 在线看国产日韩| 欧美日韩伦理在线免费| 熟妇人妻va精品中文字幕| 日韩高清不卡av| 日韩1区2区3区| 国产在线更新| 成人片在线免费看| 色婷婷一区二区| 91成人精品视频| 亚洲国产精品成人一区二区在线| 久久久久免费视频| 91在线视频官网| 久久久加勒比| 大伊香蕉精品视频在线| 精品99一区二区| 日韩av在线发布| 激情在线视频播放| 亚洲精品一区二区三区樱花 | 91精品国产91久久久久久密臀| 男女小视频在线观看| 一二三四中文字幕| 91在线精品秘密一区二区| 亚洲日本天堂| 男女裸体影院高潮| 亚洲男子天堂网| 成人99免费视频| 日本精品在线观看| 四虎永久在线高清国产精品| 日本精品性网站在线观看| 亚洲最新在线观看| 91tv精品福利国产在线观看| 麻豆app在线观看| 久久精品国产一区二区三区日韩| 欧美日韩不卡一区二区| 可以在线看的黄色网址| 色狠狠久久aa北条麻妃| 久久久久国产精品人| 亚洲黄页在线观看| 男男激情在线| 欧美一区二区在线视频观看| 亚洲国产欧美一区二区三区同亚洲 | 色七七在线观看| 69av视频在线播放| 午夜影视日本亚洲欧洲精品| 国产精品s色| av中文在线资源| 99久久久无码国产精品6| 国产精品成人观看视频国产奇米| 色呦呦网站一区| 韩日精品视频一区| caoporn成人| 成人在线播放视频| 毛片av在线播放| 日韩av电影免费观看高清| 欧美日韩色综合| 成av人片一区二区| 激情五月综合网| 国产精品69xx| 中文字幕在线综合| 国模精品一区二区三区| 在线a欧美视频| 亚洲一本大道在线| 久草中文综合在线| 天堂99x99es久久精品免费| 日本中文字幕在线观看| 欧美黄网站在线观看| 亚洲xxxx18| 国产亚洲欧美aaaa| 成人免费在线播放视频| 午夜宅男久久久| av自拍一区| 91社区在线高清| 欧美a在线视频| 99影视tv| 久久深夜福利免费观看| 午夜激情综合网| 国内精品伊人久久久久av影院| 久久99性xxx老妇胖精品| 搞黄网站在线看| 国产网站av| avav在线播放| 岛国一区二区三区高清视频| 欧美成人自拍视频| 欧美一级片在线看| 亚洲视频免费在线观看| 国产裸体歌舞团一区二区| 最新精品国产| 一区二区在线免费播放| 国产高清视频色在线www| 天堂在线中文| 一插菊花综合|