Ethereum Web3 - getPastEvents() 与 events.MyEvent({ fromBlock: 0}) 之间有什么区别?

Ethereum Web3 - What is the difference between getPastEvents() vs events.MyEvent({ fromBlock: 0})?

使用 myContract.getPastEvents() 获取过去的事件和使用 using myContract.events.MyEvent({ fromBlock: 0, }) 有什么区别?

此外,如果我传递给 fromBlock 一个尚未开采的区块编号,它是否按预期工作?

通常,MyEvent 允许您在特定事件类型内指定过滤器(您可以按参数值过滤),而 getPastEvents return 是事件类型的所有事件。

您发布的语法几乎相同。主要区别是 getPastEvents 将 return 所有发生的事件,直到您连接到的节点同步到的块号。 MyEvent 将 return 这些相同的事件,加上将在新块添加到链中时发生的任何新事件调用回调。