Lyhyen viiveen suoritustapahtumat Tänään dokumentoimme Monadin Execution Events -järjestelmää, jonka avulla kehittäjät voivat rakentaa tehokkaita sovelluksia, jotka vastaanottavat pienimmän latenssin tapahtumatietoja Monad-solmusta jaetun muistijonon kautta. Jos haluat kuluttaa tätä reaaliaikaista dataa, kirjoitat ohjelmistoja C-, C++- tai Rust-kielellä mukana toimitetulla SDK:lla ja suoritat sen isännällä, joka käyttää Monadin täyttä solmua. Tässä on lyhyt vertailu muihin vastaaviin järjestelmiin: - Geth Live Tracing - "koukku"-pohjainen API: koodisi ladataan Geth-solmuun laajennuksena, ja se suoritetaan synkronisesti (takaisinkutsujen kautta) suorituksen aikana - Reth ExEx - asynkroninen toimintopohjainen API: koodisi ladataan Reth-solmuun; toteutus näkee tapahtumat jälkikäteen eikä synkronisesti - Solana Geyser - "koukku"-pohjainen API, laajennus, joka toimii Solana-validaattorin sisällä ja kutsuu takaisinkutsuja suorituksen aikana Kaikki nämä kolme eroavat Execution Events -lähestymistavasta. Toteutustapahtumissa: - Näet tapahtumat "sellaisena kuin ne tapahtuvat", kuten Geth Live Tracerissa ja Solana Geysirissä. Toisin kuin nämä lähestymistavat, koodisi ei toimi laajennuksena suoritusmoduulin sisällä, vaan rinnakkain (noin mikrosekuntia myöhemmin) erillisessä prosessissa - Kuten Geth Live Tracerissa (mutta toisin kuin Rethin ExExissä), näet jokaisen tapahtuman "osan" - jokaisen lokin, jokaisen saldomuutoksen jne. - erillisenä tapahtumana - Toisin kuin Geth Live Tracer tai Geyser, et asenna "koukkuja" ja vastaanota takaisinsoittoja; Sen sijaan etsit jatkuvasti uusia tapahtumatietueita, iteroit sinulle palautettujen uusien tapahtumien läpi (ja jätät huomiotta tapahtumat, joista et ole kiinnostunut) - Koska järjestelmä perustuu jaettuihin muistirengaspuskureihin, voit menettää tietoja, jos kuluttaja on liian hidas - sinun on pysyttävä mukana!