本文介绍了通过Web3.py在InFura节点获取Etherum txpool挂起事务的不同方式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望通过Web3.py查看Etherum txpool中的实时挂起事务。我不运行本地节点,而是使用InFura。
根据Web3.py的文档,显然有三个不同的选项:
选项1不可行,因为API似乎不支持InFura节点。因此,我尝试了选项2和选项3,他们给出了两组不同的待定交易。有没有人知道为什么会这样?这两个方法检索不同的挂起事务吗?谢谢!选项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无法查找。
这篇关于通过Web3.py在InFura节点获取Etherum txpool挂起事务的不同方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!