Mova - Technical Whitepaper
XI. Component Description
0 min
the mova node system is composed of multiple functional modules working together this section describes the layered structure of the core components responsible for transaction synchronization and event processing these include interactive module components internal components of the module 11 1 components of the interactive module the interactive module is responsible for data synchronization between nodes and message flow between modules components include protocol netservice handles network request interactions with other nodes and supports sending and receiving messages msgbus messagebus the internal message bus of the node, enabling message passing between modules protocol blockchainstore provides read access to on chain data, such as querying events at a specific height protocol ledgercache retrieves the local nodeβs latest cached ledger state protocol blockverifier performs validity and legality verification for received events protocol blockcommitter writes verified events into the blockchain ledger 11 2 components of this module these are the core internal components of the transaction synchronization module, primarily responsible for event requesting, scheduling, and processing blocksyncserver the master controller of the sync module, providing external service interfaces depends on both the interactive module and internal logic components routine a task scheduler container providing coroutine hosting each service runs as an independent task and supports priority queue scheduling to ensure correct event processing order scheduler the event scheduler continuously maintains node height status, known event status, and a queue of missing events to request when receiving new node state, it triggers the event request process and selects target nodes to request missing events from processor the event processor receives events from the scheduler and processes, validates, and commits them in sequence if an expected event has not yet arrived, it will temporarily skip processing until full data is available after processing, it returns results to the scheduler