Herodotus Docs

Architecture Overview

Each Herodotus smart contracts deployment supporting a specific chain consists of the following contracts:
  1. 1.
    Commitments inbox. This contract is responsible for processing and checking the validity of other chain commitments, such as blockhashes or state roots.
  2. 2.
    Headers store. This contracts stores and allows processing headers from a given point till the genesis by asserting that blockhash(x - 1) = parenthash(x).
  3. 3.
    Facts registry. This contract performs storage proofs verification and stores requested values in its state.
Note: In future releases, we will stop storing values in the facts registry state. Instead, values will be stored inside an accumulator.
zkSync Era
Flow diagram for zkSync Era
Flow diagram for Starknet