低遅延実行イベント 今日は、開発者が共有メモリキューを介してMonadノードから最も遅延の少ないイベントデータを受信する高性能アプリケーションを構築できるようにするMonadの実行イベントシステムを文書化します。 このリアルタイムデータを使用するには、提供されたSDKを使用してC、C++、またはRustでソフトウェアを作成し、Monadフルノードを実行しているホストで実行します。 他のそのようなシステムとの簡単な比較は次のとおりです。 - Geth Live Tracing - 「フック」ベースの API: コードはプラグインとして Geth ノードにロードされ、実行中に (コールバックを介して) 同期的に実行されます。 - Reth ExEx - 非同期関数ベースの API: コードは Reth ノードにロードされます。実行では、同期的ではなく事後にイベントが発生します - Solana Geyser - 「フック」ベースの API、Solana バリデーター内で実行され、実行中にコールバックを呼び出すプラグイン これら 3 つはすべて、実行イベントのアプローチとは異なります。実行イベントでは、次のようになります。 - Geth Live Tracer や Solana Geyser のように、イベントが「発生したまま」表示されています。これらのアプローチとは異なり、コードは実行エンジン内でプラグインとして実行されるのではなく、別のプロセスで並列(約1マイクロ秒後)実行されます - Geth Live Tracer と同様に (ただし、Reth の ExEx とは異なり)、トランザクションの各「部分」 (各ログ、各残高変更など) を個別のイベントとして表示します。 - Geth Live Tracer や Geyser とは異なり、「フック」をインストールしてコールバックを受信することはありません。代わりに、新しいイベントレコードを継続的にポーリングし、返された新しいイベントを反復処理します (関心のないイベントは無視します) - システムは共有メモリリングバッファに基づいているため、コンシューマーが遅すぎるとデータが失われる可能性があります。