成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何將以太坊數據流傳輸到QuestDB

區塊鏈
本文中,將和大家介紹如何從以太坊中提取鏈上數據并將其數據流傳輸到QuestDB以便于進行進一步的分析和可視化。

 [[394074]]

本文轉載自微信公眾號「區塊鏈研究實驗室」,作者鏈三豐。轉載本文請聯系區塊鏈研究實驗室公眾號。

本文中,將和大家介紹如何從以太坊中提取鏈上數據并將其數據流傳輸到QuestDB以便于進行進一步的分析和可視化。

先決條件

  • Python 3.6+
  • 碼頭工人
  • Infura帳戶

訪問以太坊鏈上數據

Infura是由Consensys提供支持的開發平臺,具有免費層(每天10萬個請求),我們可以從以太坊主網和Testnets提取數據。

注冊一個免費帳戶并在以太坊下創建一個新項目:

記下Mainnet的HTTPS端點(格式為https://mainnet.infura.io/v3/)。

使用架構設置QuestDB

我們將用于流以太坊數據的ETL腳本提供以下鏈上信息:

  • 積木
  • 合約書
  • 日志
  • 代幣轉移
  • 代幣
  • 痕跡
  • 交易次數

簡單起見,在此示例中,我們僅流式傳輸塊和令牌傳輸,但是所有可用鏈上數據的模式都位于ethereum-etl-postgres / schema下(需要將Postgres數據類型轉換為Java數據類型)。該數據將在QuestDB中建立索引,以利用其高性能的時間序列數據。

使用Web控制臺和Postgres端點啟動QuestDB:

  1. $ docker run -p 9000:9000 -p 8812:8812 questdb/questdb 

導航至Web控制臺,localhost:9000然后為塊創建表:

  1. create table blocks 
  2.     timestamp string, 
  3.     number bigint
  4.     hash string, 
  5.     parent_hash string, 
  6.     nonce string, 
  7.     sha3_uncles string, 
  8.     logs_bloom string, 
  9.     transactions_root string, 
  10.     state_root string, 
  11.     receipts_root string, 
  12.     miner symbol, 
  13.     difficulty long, 
  14.     total_difficulty long, 
  15.     size long, 
  16.     extra_data string, 
  17.     gas_limit long, 
  18.     gas_used long, 
  19.     transaction_count long 
  20. ); 

以及用于token_transfers;

  1. create table token_transfers 
  2.   token_address symbol, 
  3.   from_address symbol, 
  4.   to_address symbol, 
  5.   value float
  6.   transaction_hash string, 
  7.   log_index long, 
  8.   block_timestamp string, 
  9.   block_number long, 
  10.   block_hash string 
  11. ); 

刷新表格列表后,您應該看到兩個都已填充:

現在我們準備將以太坊數據流式傳輸到我們的數據庫。

流以太坊鏈上數據

區塊鏈ETL提供了一個Python腳本,可從Infura中提取數據并將其流式傳輸到Google Pub / Sub或Postgres。現在,我們需要先安裝ethereumetl[streaming]:

  1. $ pip3 install "ethereum-etl[streaming]" 

現在,我們需要指定我們的QuestDB憑據以及Infura API詳細信息。

Postgres輸出采用以下形式,postgresql+pg8000://: @: /并且API URL通過進行指定--provider-uri。我們還可以指定start-block數字(或者從一開始就省略下載所有以太坊數據),以及我們感興趣的模式:

 

  1. $ ethereumetl stream --start-block 600000 -e block,token_transfer --output postgresql+pg8000://admin:quest@localhost:8812/qdb --provider-uri https://mainnet.infura.io/v3/<my-project-id> 

當數據開始傳輸時,您可以在QuestDB中看到它的索引:

該腳本會自動將最后處理的塊存儲在中last_synced_block.txt。如果要稍后運行腳本,則可以刪除--start-block腳本中的標志。

探索數據和改進

QuestDB提供了一些內置的可視化功能。例如,如果您想gas_used由礦工看,則可以進入下面Chart并將其設置為以下內容:

以太坊ETL腳本當前以RFC3339格式存儲時間戳數據,而QuestDB期望從Unix Epoch開始有符號偏移。這就是為什么我們的表架構為時間序列字段使用字符串而不是日期或時間戳的原因。

為了獲得更高的性能,我們可以先修改ETL腳本,或者先將其流式傳輸到Cloud Pub / Sub,然后轉換數據,然后再流式傳輸到QuestDB。

另外,我們可以to_timestamp()在提取數據后使用QuestDB上的功能來修改表。例如,要轉換blocks表以使用QuestDB理解的正確時間戳,我們可以執行以下操作:

  1. SELECT to_timestamp(timestamp'yyyy-MM-dd HH:mm:ss')  
  2. AS time, number, miner, difficulty, size, gas_limit, gas_used  
  3. FROM (blocks  
  4. ORDER BY timestamp); 

最后,如果您要流式傳輸合同或令牌數據,則需要先將function_sighashes字段展平,因為QuestDB本身還不支持Array類型。

有了這些數據,現在您就可以計算出流行的信號,例如“網絡價值與交易比率”,或者在Coin Metrics或Glassnode上提供的重復分析。

 

責任編輯:武曉燕 來源: 區塊鏈研究實驗室
相關推薦

2024-01-05 11:40:02

2021-12-14 14:07:55

加密貨幣以太坊比特幣

2023-05-30 08:00:00

PandasQuestDBPython

2021-05-13 16:13:21

區塊鏈以太坊NFT

2021-05-07 09:06:55

GraphQLAPI 以太坊

2022-04-15 08:33:51

PythonGraph以太坊數據

2021-05-02 22:19:46

以太坊比特幣加密貨幣

2023-05-05 08:00:00

2021-05-22 22:57:24

以太坊加密貨幣比特幣

2021-12-08 13:57:29

以太坊加密貨幣比特幣

2021-05-03 23:32:55

以太坊區塊鏈比特幣

2022-10-18 08:00:00

2021-10-26 00:27:28

Python以太坊智能

2018-05-24 16:20:46

Windows 10Windows許可證

2018-06-01 09:17:52

區塊鏈以太坊

2021-04-29 16:11:14

以太坊共識鏈驗證者

2013-08-21 13:34:52

MJPEG流傳輸C#開源C#

2013-01-21 10:15:21

以太網存儲網絡

2021-03-10 13:59:32

以太坊數據網絡

2022-04-23 16:47:52

以太坊Web3.py區塊鏈
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美一区二区三区视频 | 伊人超碰 | 亚洲免费人成在线视频观看 | 午夜免费福利片 | 欧美一区二区精品 | 欧美在线一区二区三区 | 日韩av在线一区 | 2018天天干天天操 | 久草.com| 国产美女一区二区 | 99精品99| 欧美另类视频 | 欧美 中文字幕 | 亚洲精品99| 黄色一级电影在线观看 | 国产一区二区免费 | 亚洲精品成人在线 | 精品国产第一区二区三区 | 日韩一区二区三区在线观看 | 色婷婷久久久久swag精品 | 欧美精品一二三区 | 国产在线视频一区 | 天天操网 | www.一区二区三区.com | 久久久青草婷婷精品综合日韩 | 中文字幕人成乱码在线观看 | 亚洲欧美一区二区三区在线 | 国产九九九九 | 99久久99久久精品国产片果冰 | 国产 日韩 欧美 在线 | 欧洲亚洲一区二区三区 | 日韩在线视频一区 | 精品一区二区三区四区外站 | 成人免费福利 | 岛国av一区二区 | 欧美黑人一区 | 2018天天干天天操 | 盗摄精品av一区二区三区 | 成人3d动漫一区二区三区91 | 久色视频在线观看 | 亚洲免费人成在线视频观看 |