Události provádění s nízkou latencí Dnes dokumentujeme systém Execution Events v Monadu, který umožňuje vývojářům vytvářet vysoce výkonné aplikace, které přijímají data událostí s nejnižší latencí z uzlu Monad prostřednictvím fronty sdílené paměti. Chcete-li tato data v reálném čase využívat, napíšete software v jazyce C, C++ nebo Rust pomocí poskytnutého SDK a spustíte jej na hostiteli se spuštěným plným uzlem Monáda. Zde je stručné srovnání s jinými podobnými systémy: - Geth Live Tracing - API založené na "hooku": váš kód se načte do uzlu Geth jako plugin a během provádění se spouští synchronně (prostřednictvím zpětných volání) - Reth ExEx - API založené na asynchronních funkcích: váš kód se načte do uzlu Reth; Provedení vidí události až po faktu spíše než synchronně - Solana Geyser - API založené na "hooku", plugin, který běží uvnitř validátoru Solana a vyvolává zpětná volání během provádění Všechny tři tyto body se liší od přístupu k událostem provádění. V událostech provádění: - Vidíte události "tak, jak se dějí", jako v Geth Live Tracer a Solana Geyser. Na rozdíl od těchto přístupů váš kód neběží jako zásuvný modul uvnitř prováděcího modulu, ale paralelně (asi o jednu mikrosekundu později) v samostatném procesu - Stejně jako Geth Live Tracer (ale na rozdíl od Reth's ExEx) vidíte každý "kousek" transakce - každý protokol, každou změnu zůstatku atd. - jako samostatnou událost - Na rozdíl od Geth Live Tracer nebo Geyser neinstalujete "háčky" a nedostáváte zpětná volání; místo toho se neustále dotazujete na nové záznamy událostí, iterujete všechny nové události, které se vám vrátí (a ignorujete události, které vás nezajímají) - Protože je systém založen na kruhových vyrovnávacích pamětech se sdílenou pamětí, můžete ztratit data, pokud je váš spotřebič příliš pomalý – musíte držet krok!