使用实时数据运行
步骤 1:准备 Monad 节点
运行前,请确保执行层守护进程正在运行并且已启用执行事件。特别是,请确保您已向执行层守护进程传递了命令行参数--exec-event-ring
步骤 2:运行示例程序
在快照示例中,我们将快照文件名作为命令行参数传递给程序。在 C 和 Rust 示例程序中,如果我们不传递任何文件名,它将使用执行层守护进程使用的默认文件名,将我们连接到实时事件流。- 对于 C,运行不带参数的
eventwatch - 对于 Rust,运行命令
cargo run -- -d
后续步骤
至此,开始使用指南完成!如果您有兴趣使用 SDK 开发自己的实时数据处理软件,从这里应去何处? 以下是推荐的资源列表,大致按对开发实际应用最有帮助的顺序:- 如果您还没读过,请阅读概述和您刚才运行的示例程序的源代码
- 一旦理解了示例中的基本思路,SDK 文档的其余部分应该很容易理解
- 使用 SDK 之前,请确保您理解共识事件及其含义
- 尝试一个更复杂的程序并查看其源代码
可选:构建 monad-event-cli 工具
monad-event-cli 是处理事件系统的实用工具。与 Rust 的 eventwatch 示例一样,它可以将执行事件负载解码为人类可读形式。它还执行开发者工作流中有用的其他任务,例如记录事件捕获以及为测试用例创建快照 event ring 文件。
要构建 monad-event-cli,您还需要 CLI11 C++ 命令行解析器库和 OpenSSL 开发文件。虽然是可选的,您还应该安装 GNU 多精度库 的开发文件,以便 uint256 值以十进制形式打印。
说明还使用了 ninja 构建工具。您可以在 Ubuntu 上使用以下命令一次性安装所有内容:
release/exec-events-sdk-v1.1 分支,然后构建以 category/event 为根的 CMake 项目。
使用 clang-19 配合 libc++ 和上述选项:
-march=x86-64-v4 是启用 CPU 指令级某些原子操作所需的,以避免需要链接 libatomic.a;如果没有它,会发出性能警告,由于 -Werror 而变成编译错误clang19-libcxx.cmake 的文件:

