
先决条件
Python 3.6+ 码头工人 Infura帐户
访问以太坊链上数据

使用架构设置QuestDB
积木 合约书 日志 代币转移 代币 痕迹 交易次数
$ docker run -p 9000:9000 -p 8812:8812 questdb/questdb
create table blocks(timestamp string,number bigint,hash string,parent_hash string,nonce string,sha3_uncles string,logs_bloom string,transactions_root string,state_root string,receipts_root string,miner symbol,difficulty long,total_difficulty long,size long,extra_data string,gas_limit long,gas_used long,transaction_count long);以及用于token_transfers; create table token_transfers(token_address symbol,from_address symbol,to_address symbol,value float,transaction_hash string,log_index long,block_timestamp string,block_number long,block_hash string);

流以太坊链上数据
$ pip3 install "ethereum-etl[streaming]"
$ 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>


探索数据和改进

SELECT to_timestamp(timestamp, 'yyyy-MM-dd HH:mm:ss')AS time, number, miner, difficulty, size, gas_limit, gas_usedFROM (blocksORDER BY timestamp);


文章转载自区块链研究实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





