Эта ссылка показывает последние 500 тысяч транзакций, и при нажатии на каждую из них открывается страница с информацией, включая лимит газа, цену на газ, использованный газ и т. д.
Как я могу получить информацию для всех 500k автоматическим способом, потому что это утомительно и нецелесообразно делать это вручную.
В API от etherscan нет методов для получения списка последних 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']
надеюсь это поможет
gas
транзакцию i
в списке, можно получить с помощьюtxlist[i]['gas']
myapi.getTransactionReceipt(txhash)
где txhash — это хэш транзакции, тогда вы получите квитанцию, содержащую значение использованного газа.
Рагхав Суд
Ричард Хоррокс
МВт