OlaOS Architecture
Olaos implements multiple services such as JONS-RPC server, data fetcher, sequencer, healthcheck, etc.
The entire project is divided into the following crates:
basic-types
Some basic types used in the project are defined here.
This crate will not depend on other crates in the project.
config
The configuration parameters used in the project are defined here.
/configuration
All configuration files are here, with a lower priority than environment variables.
contracts
The system contract definition used in OlaOS and loading logic are here.
dal
Data Access Layer in OlaOS.
Encapsulates the curl operations of the underlying database.
etc
The currently used environment variables and compiled system contract code are here.
health_check
Check whether each module is working properly.
logs
Collect system logs when running.
mempool
Implemented a mempool for incoming user transactions, from which the sequencer will select transactions to execute and generate blocks.
ola_core
The core module of OlaOS, including the implementation of a JSON-RPC server, the core logic of sequencer and the abstract logic of mempool.
state
Providing an in-memory database through the underlying rocksdb, which is used for OlaVM to read necessary information of current state.
storage
Implemented storage read and write operations for OlaVM.
types
Implemented most of OlaOS's data types, including transactions, blocks, etc.
Last updated