Go-Ethereum

如何從 Etherscan 中檢索交易資訊,例如 gaslimit 和 gasprice?

  • October 16, 2018

此連結顯示最新的 50 萬筆交易,點擊每筆交易都會打開一個頁面,其中包含 gaslimit、gasprice、usedgas 等資訊。

https://etherscan.io/txs

我怎樣才能以自動方式檢索所有 500k 的資訊,因為手動這樣做既乏味又不切實際。

etherscan 的 API 沒有獲取最後 N 個事務列表的方法。解決方案是下載塊(帶有交易)並從中讀取數據。

假設每個區塊平均有 250 筆交易(來源:https ://bitinfocharts.com/ethereum/ ),每秒有 5 個請求,您將在幾個小時內獲得數據。

這可以使用 python 輕鬆完成,您可以使用以下工具:

https://github.com/corpetty/py-etherscan-api

或者

https://github.com/jfdelgad/etherscanAPI 在最後一個你可以這樣做:

從 etherscanAPI 導入 etherscan

apikey = 'yourAPIkey'
myapi = etherscan(apikey, 'mainnet')

currentblock = myapi.getBlockNumber()
txlist = []
i = 0
txcount = 0;
while txcount < 1000:
   block = myapi.getBlockByNumber(int(currentblock,16)-i)
   txlist.append(block['transactions'])
   txcount = txcount + len(block['transactions'])
   i = i + 1
   print(txcount)

txlist = [i for sublist in txlist for i in sublist]

然後txlist將是一個字典列表,其中包含最後 (>) 1000 個事務的所有數據。

例如,txlis

$$ 0 $$會有一本字典:

{'blockHash': '0x60265fe6cffcbd2dc5f3872c4eb151e17919296270210985df3ef2249d99171c',
'blockNumber': '0x63973b',
'from': '0x5e032243d507c743b061ef021e2ec7fcc6d3ab89',
'gas': '0xafc8',
'gasPrice': '0xcce416600',
'hash': '0x940cdd338b4ec8f9b2b63c01a88683f8658f9a388d79873c6bb913b34e579dd8',
'input': '0x',
'nonce': '0x193dd',
'r': '0xcffe406e06ac7f5049798785d1ead4d9420aa763838592e275b997d6efb411d7',
's': '0x5db6e46eae1dae407b4e54c49e50ccb17a41a6569cb848aae021f06d4d7fb450',
'to': '0xf67fa6500b490a05c29a47b40a9e3b72e3044a15',
'transactionIndex': '0x0',
'v': '0x26',
'value': '0x4563918244f40000'}

您可以獲取參數,例如:txlist

$$ 0 $$$$ ‘gas’ $$ 希望這可以幫助

引用自:https://ethereum.stackexchange.com/questions/60484