国产乱人伦在线播放,99无码精品二区在线视频,最近在线更新8中文字幕免费,精品成人一区二区三区四区

您的位置:首頁 > 互聯(lián)網 >

Qtum量子鏈推出Qtum鏈上數據分析 基于谷歌BigQuery

2019-07-04 16:36:33 來源: Qtum量子鏈

1 概述Qtum 量子鏈作為一個以技術革新為主導的創(chuàng)新公鏈,一直將推動區(qū)塊鏈的技術發(fā)展和應用落地為己任。量子鏈研究院一直在探索區(qū)塊鏈上的各

1. 概述

Qtum 量子鏈作為一個以技術革新為主導的創(chuàng)新公鏈,一直將推動區(qū)塊鏈的技術發(fā)展和應用落地為己任。量子鏈研究院一直在探索區(qū)塊鏈上的各種創(chuàng)新方式,其中基于Google Cloud進行的對區(qū)塊鏈云計算與大數據方向的創(chuàng)新探究一直在穩(wěn)步推進。繼Google Cloud推出Qtum開發(fā)工具包后,Qtum量子鏈結合Google Cloud強大的數據分析能力與豐富的云平臺功能,基于數據分析工具BigQuery再次推出了一個重量級數據分析服務——Qtum鏈上數據分析。

Qtum量子鏈是全球首個基于PoS共識機制和UXTO模型的智能合約平臺。其賬戶抽象層實現了UTXO模型與智能合約虛擬機賬戶模型的的無縫交互,實現了區(qū)塊鏈技術與真實的商業(yè)世界的完美融合。

+最新數據顯示(截止到2019年5月),截止至5月30日地址數總量為1648035個,在一個月內增長67596個,平均每日增長2253.2個。網絡權重變化整體較穩(wěn)定,挖礦平均年回報率為7.87%[1]。Qtum x86虛擬機、完善的DGP鏈上治理以及Qtum與金融、醫(yī)療、文娛、游戲等多領域的融合,使Qtum量子鏈逐漸成為全球最有影響力的項目之一。

主流貨幣的數據全是公開透明的,我們可以用 blockchain.com、etherscan.io 、qtum.info等開放的區(qū)塊鏈瀏覽器查詢交易、余額等基本信息。但若想對鏈上數據進行統(tǒng)計分析并不容易,例如每日的交易量、全網算力等等,需要對歷史的所有區(qū)塊、交易進行數據統(tǒng)計才能得到。

本文就基于BigQuery實現了Qtum鏈上數據的統(tǒng)計、分析以及可視化展現,將Qtum的各項指標更為直觀地呈現給用戶。最終效果參見網址:https://chart.qtum.info/

2. 背景

BigQuery [2] 是Google Cloud最新推出的數據分析工具。它是一個基于列存儲的數據庫系統(tǒng)。列存儲和行存儲的區(qū)別可以用下圖很好地表示。

列存儲和行存儲有著各自的優(yōu)缺點,適用于不同的場合。從下表中可以很明顯地看出,列存儲可以有效應用于數據統(tǒng)計中。因為數據統(tǒng)計通常需要把大量的數據(列如用戶日志)加載進表里,然后對逐個字段進行篩選和統(tǒng)計。這個場景和列存儲的應用場景是完全符合的。

目前開源的列存儲數據庫并不多,主流的包括HBase、ClickHouse等。而各大互聯(lián)網公司都會研發(fā)自己的閉源列存儲數據庫。BigQuery就是Google研發(fā)的列存儲數據庫,目前在Google Cloud上可以使用,主要按照SELECT操作涉及的數據量大小進行收費。

由于列存儲數據庫能很好地應用于數據統(tǒng)計的場景中,所以我們采用BigQuery進行Qtum鏈上數據的分析,以便更好地了解區(qū)塊、交易等數據。BigQuery也經常宣傳自己在區(qū)塊鏈數據方面的應用[3]。

03. 架構

本系統(tǒng)分為上中下三層:

· 下層為數據源部分。運行在服務端的Qtum節(jié)點開啟了RPC服務。ETL(Extract-Transform-Load )程序會持續(xù)從RPC獲取鏈上數據,然后輸出給中間層。

· 中間層用BigQuery實現數據存儲和計算。運行在服務端的定時任務會持續(xù)往BigQuery中寫入最新的鏈上數據。然后,用SQL對數據進行統(tǒng)計分析,寫入上層的Redis中。

· 上層是前端展示部分。Flask框架從Redis中讀取數據返回給前端。前端通過在React框架中嵌入的Echarts工具,用來展示Qtum鏈上數據的統(tǒng)計分析結果。

數據源

數據源部分由Qtum節(jié)點和ETL程序組成。Qtum全節(jié)點實時同步最新的鏈上數據。ETL程序通過RPC接口獲取鏈上數據,最終寫入本地CSV(Comma-Separated Values)文件。流程圖如下:

ETL詳細步驟如下:

1. 啟動Qtum全節(jié)點和ETL程序;

2. ETL程序調用Qtum節(jié)點的RPC接口獲取當前區(qū)塊高度;

3. ETL程序開啟多個進程,并發(fā)地調用getblock接口,獲取最近多個區(qū)塊的數據;

4. 將區(qū)塊數據寫入本地的CSV文件。

其中,getblock接口有兩個參數,分別是區(qū)塊哈希值和數字2(2代表會返回完整的交易信息)。返回結果如下:

BigQuery

BigQuery部分主要是數據的存儲和計算。每次ETL程序運行完成之后,會將最新的CSV文件上傳至BigQuery。然后執(zhí)行SQL語句進行統(tǒng)計計算,并將計算結果寫入Redis。關鍵操作步驟如下:

· 建表:在BigQuery網站界面中新建數據庫表,表名為block。依次填寫各個字段的名稱,類型和模式,填寫完畢點擊“創(chuàng)建表”。

· 上傳:BigQuery支持多種方式上傳數據,數據也包括CSV、AVRO等多種格式。此處我們通過Python編寫的任務,將CSV上傳到BigQuery。

from google.cloud import bigquery

client = bigquery.Client()

filename = 'data.csv' # file path

dataset_id = 'qtum_data' # data set name

table_id = 'block' # table name

dataset_ref = client.dataset(dataset_id)

table_ref = dataset_ref.table(table_id)

job_config = bigquery.LoadJobConfig()

job_config.write_disposition = 'WRITE_TRUNCATE'

job_config.source_format = bigquery.SourceFormat.CSV

job_config.skip_leading_rows = 1

job_config.fieldDelimiter=','

with open(filename, 'rb') as source_file:

job = client.load_table_from_file(

source_file,

table_ref,

location='us-east4',

job_config=job_config) # API request

job.result() # Waits for table load to complete.

print('Loaded {} rows into {}:{}.'.format(

job.output_rows, dataset_id, table_id))

· 通過SQL語句讀取BigQuery中block表的數據并進行統(tǒng)計計算。這里我們以計算stake weight為例,其計算公式可以表示為:

對應的SQL語句和在圖形界面的執(zhí)行效果如下:

SELECT

SUM( block_difficulty ) * 16 * (1<<32) /(MAX( block_time )-MIN( block_time ) + 144) AS stake_weight,

DATE_FROM_UNIX_DATE(CAST(FLOOR(block_time/(3600*24)) AS INT64)) AS day_num

FROM `data-service-232303.qtum_data.block`

GROUP BY day_num

可視化

可視化部分由Flask和React兩部分組成,最終展示結果如下圖。Flask從Redis獲取數據并通過HTTP JSON接口返回給前端。前端通過在React框架中嵌入的Echarts工具,用來展示數據。最終效果如下圖:

可視化部分處理步驟如下:

1.在瀏覽器中打開地址(https://chart.qtum.info/),前端向接口發(fā)起請求。接口代碼如下:

# parameter key, for example:username = 'block_size'

# api:http://127.0.0.1:23456/api/block_size

@app.route('/api/')

def get_each_data(username):

...

x, y = get_data_from_redis(username)

if len(x) > 0:

print('Total :'+str(len(x)))

result = {

'success': True,

'msg': '',

'data': {

"title": input_dic[username]['title'],

"desc": input_dic[username]['desc'],

"unit": input_dic[username]['unit'],

"x": x,

"y": y

}

}

...

return jsonify(result)

2.獲取接口返回的數據之后,通過Echarts工具展示在瀏覽器中。Echarts示例代碼如下:

# parameter key, for example:key = "block_size"

showChart = (key) => {

fetch(`/api/${key}`)

.then(function (res) {

return res.json();

})

.then(function (res) {

...

xAxis: {

data: res.data.x

},

yAxis: {

name: res.data.unit

},

...

}

}

4. 總結

此次Qtum量子鏈基于谷歌的BigQuery搭建的數據工具,展示了一種新的合作可能性,幫助更多用戶不僅僅通過區(qū)塊鏈瀏覽器去查詢交易,而是從更加宏觀的視角幫助普通用戶挖掘真正的數據價值。這也會使得監(jiān)管等機構更好的理解區(qū)塊鏈技術的未來數據價值,使得區(qū)塊鏈技術進一步主流化,合規(guī)化。

系統(tǒng)的前端為React框架,編程語言為HTML,JavaScript和CSS,后端為輕量級Python框架Flask,接口,數據處理和定時任務也都是由Python編寫。點擊鏈接即可查看Qtum鏈上實時動態(tài)數據:https://chart.qtum.info/

5. 下一步計劃

隨著區(qū)塊鏈行業(yè)各種公有鏈項目的不斷發(fā)展,積累了大量的交易和區(qū)塊數據。由于鏈上數據的透明性,區(qū)塊鏈技術將面臨用戶隱私泄露、非法金融活動等問題,我們從以下幾個方向來作為下一步計劃:

1. 隱私泄漏分析:通過實體識別和身份識別來分析區(qū)塊鏈用戶是否有隱私泄漏風險

2. 網絡畫像:通過對區(qū)塊鏈的活躍度畫像,服務畫像和網絡特性畫像從宏觀的角度對區(qū)塊鏈網絡的運行狀態(tài)、規(guī)律、機制進行分析,從而更好的理解區(qū)塊鏈網絡中用戶的活動情況

3. 市場效應分析:分析礦工,系統(tǒng),用戶,政策,事件,競爭等因素對市場的影響

4. 交易模式識別:對洗錢、詐騙等犯罪活動的特定交易模式進行分析,盡可能多的對交易模式進行識別

5. 非法行為檢測與分析:在成功識別交易模式之后,通過技術手段來幫助政府追溯非法行為發(fā)生的源頭[4](Qtum)

關鍵詞: Qtum量子鏈 數據分析 BigQuery

精選 導讀

募資55億港元萬物云啟動招股 預計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當日啟動招股,預計發(fā)行價介乎每股47 1港元至52 7港元,預計9月29日登陸港交所主板。按發(fā)行1 167億股計算,萬

發(fā)布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業(yè)

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數為9794只,資產凈值為269454 75億元,同比上

發(fā)布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產。四川長虹25日稱,擬以1 66億元的轉讓底價掛牌出售31套房產。今年以來,A股公司出售房產不斷。根據記者不完全統(tǒng)

發(fā)布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復深交所關注函 股份繼續(xù)沖高

回復交易所關注函后,大港股份繼續(xù)沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發(fā)布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權

7月13日,中泰證券發(fā)布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權,交易雙方共同確定本次交易的標的資

發(fā)布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續(xù)7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標利率2 10%。這已是央行連續(xù)7日每天僅進行30億元的逆回購縮量投放,創(chuàng)下去年1月以來的最低操作規(guī)

發(fā)布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數創(chuàng)近20年新高 黃金期貨創(chuàng)出逾9個月新低

由于對美聯(lián)儲激進加息的擔憂,美元指數11日大漲近1%創(chuàng)出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創(chuàng)出逾9個月新低。美

發(fā)布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創(chuàng)下記錄以來最大跌幅

今年上半年,美股持續(xù)回落。數據顯示,道瓊斯指數上半年下跌15 3%,納斯達克綜合指數下跌29 5%,標普500指數下跌20 6%。其中,納斯達克連續(xù)

發(fā)布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數據顯示,截至6月16日,兩市融資余額1 479萬億元,月內增加344 67億元,最近一個半

發(fā)布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續(xù)流入A股市場

北向資金凈流入態(tài)勢延續(xù)。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發(fā)布時間: 2022-06-17 09:37
推薦   2022-06-17