【发布时间】:2019-12-03 17:27:17
【问题描述】:
我想通过 Web3.py 查看以太坊 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()
【问题讨论】:
-
没错,你每次设置监听器时都会看到不同的待处理交易,因为它只显示你开始收听后添加的交易。它不会返回池中的所有 tx(不幸的是)
-
自从创建此帖子以来已经安静了一段时间,但是当我尝试选项 3 时,这里有人能够回答我的问题 (stackoverflow.com/questions/70234159/…) 发生的值错误吗?