Skip to content

Commit 0422cb4

Browse files
committed
Add README.md to domain-executor
1 parent 53a1b1d commit 0422cb4

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Domain Executor
2+
3+
## Overview
4+
5+
Each executor instance, whether for system domain or core domain, consists of these components:
6+
7+
- `BundleProducer`: Produce a bundle on new slot.
8+
- `BundleElectionSolver`: Attempt to solve the bundle election challenge on each each slot in order to be allowed to author a bundle.
9+
- `DomainBundleProposer`: Collect the transactions from transaction pool and a range of receipts upon solving the bundle election challenge successfully.
10+
- `BundleProcessor`: On each imported primary block, the bundle processor extracts the domain-specific bundles from the primary block, compiles the bundles to a list of extrinsics, construct a custom `BlockBuilder` with compiled extrinsics, execute and import the domain block. The receipt of processing the domain block is stored locally and then submitted to the primary chain in some bundle later.
11+
- domain worker: Run the components `BundleProducer` and `BundleProcessor` on the arrived events(new_slot, import_primary_block).
12+
- `GossipMessageValidator`: Validate the bundle gossiped from the domain node peers. Currently, this part is inactive and will be re-enabled in the future.
13+
14+
## Modules structure
15+
16+
- `domain_{block_processor,bundle_producer,bundle_proposer,worker}.rs`/`gossip_message_validator`
17+
- General executor components, sharing the common logics between system domain and core domain.
18+
- `system_{block_processor,bundle_producer,bundle_proposer,worker}.rs`/`system_gossip_message_validator`
19+
- Executor components specfic to the system domain.
20+
- `core_{block_processor,bundle_producer,bundle_proposer,worker}.rs`/`core_gossip_message_validator`
21+
- Executor components specfic to the core domain.

0 commit comments

Comments
 (0)