-
Notifications
You must be signed in to change notification settings - Fork 12
Enacted VS Imported VS Omitted
When Foundry or CodeChain receives a block, that block will be imported, and it can be enacted. The rest of the blocks can be omitted.
We say "Foundry imports a block" when Foundry verifies, executes, and saves the block in the disk and updates its best chain.
Enacted blocks are blocks that are appended in the best chain.
Imported blocks are blocks that have been imported.
Omitted blocks are blocks that were in the best chain, but are not anymore.
Let's assume that Foundry receives block A and imported it. If block A is included in the best chain (A became the new best block), we can say that "block A is enacted". We can also say that "block A is imported".
Let's assume that Foundry receives proposal block B and imports it. Block B is now imported.
The third example assumes the PoW consensus. Let's assume that Foundry received block C.
Before importing it, the best chain was:
X → Y → Z
After importing it, the best chain became:
X -> K -> L -> C
Then K, L, and C is enacted. C is imported. Y, and Z is omitted.