通过Web3.py在InFura节点获取Etherum txpool挂起事务的不同方式
问题描述
我希望通过Web3.py查看Etherum txpool中的实时挂起事务。我不运行本地节点,而是使用InFura。
根据Web3.py的文档,显然有三个不同的选项:
- 使用TX Pool API
- 使用web3.eth.getBlock('pending')
- 使用web3.eth.filter('pending')
选项2:
pending_block= w3.eth.getBlock(block_identifier='pending', full_transactions=True)
pending_transactions= pending_block.['transactions']
选项3:
pending_transactions_filter= w3.eth.filter('pending')
pending_transactions= pending_transactions_filter.get_new_entries()
解决方案
这些是根本不同的事务集,因为选项2似乎只筛选挂起块,但选项3甚至包括甚至不在挂起块中的更多挂起事务。这对我来说是显而易见的,因为选项2允许您获取完整的TX内容/信息,但选项3只给了我txhash ID,其中许多ID无法查找。
相关文章