低延迟执行事件 今天,我们正在记录Monad中的执行事件系统,该系统允许开发者构建高性能应用程序,通过共享内存队列从Monad节点接收最低延迟的事件数据。 要消费这些实时数据,您需要使用提供的SDK编写C、C++或Rust软件,并在运行Monad全节点的主机上运行它。 以下是与其他类似系统的简要比较: - Geth实时追踪 - 基于"hook"的API:您的代码作为插件加载到Geth节点中,并在执行期间同步运行(通过回调) - Reth ExEx - 基于异步函数的API:您的代码加载到Reth节点中;执行在事后看到事件,而不是同步的 - Solana Geyser - 基于"hook"的API,一个在Solana验证器内部运行的插件,并在执行期间调用回调 这三者都与执行事件的方法不同。在执行事件中: - 您看到事件是"实时发生的",就像Geth实时追踪器和Solana Geyser一样。与这些方法不同,您的代码不是作为插件在执行引擎内部运行,而是在一个单独的进程中并行运行(大约延迟一微秒) - 像Geth实时追踪器一样(但与Reth的ExEx不同),您看到每个交易的"片段" - 每个日志、每个余额变更等 - 作为单独的事件 - 与Geth实时追踪器或Geyser不同,您不安装"hooks"并接收回调;相反,您持续轮询新的事件记录,迭代返回给您的任何新事件(并忽略您不感兴趣的事件) - 由于系统基于共享内存环形缓冲区,如果您的消费者太慢,您可能会丢失数据 -- 您必须跟上!