Blocks
列出一個區塊的所有交易
在一個程序中,我想處理一個乙太坊區塊的所有正常交易的列表。特別是對於區塊中的每筆交易,都需要傳輸的 ETH 值、發送者地址和接收者地址。
探索者有這樣的列表(例如https://etherscan.io/txs?block=12702435),但我找不到在一個 API 呼叫中直接提供此資訊的 API。
分兩步即可:
- 獲取所有 txhashes,例如。https://api.blockcypher.com/v1/eth/main/blocks/12702435
- 獲取每個 txhash 的發送者、接收者和數量 但是,由於 API 速率限制,此解決方案也很困難
非常感謝您的幫助!
@user216:感謝您的評論。事實上,一個簡單的方法是安裝 geth 並執行一個輕節點
geth --syncmode "light"
然後通過 pip 安裝 web3。之後下面的 Python 程式碼工作:)
w3 = web3.Web3(web3.Web3.IPCProvider('/home/user/.ethereum/geth.ipc')) block = w3.eth.get_block(12704257) # example for a recent block for tx_hash in block['transactions']: tx = w3.eth.get_transaction(tx_hash) tx_obj = {'addr_sender': tx['from'], 'addr_receiver': tx['to'], 'value': tx['value']}