- Validating all transactions
- Executing all transactions
- Constructing new blocks for the L2
View the source code for the bootloader
View the source code for each system contract.
ZK Stack Docs - Bootloader
View in-depth documentation on the Bootloader.
Bootloader Execution Flow
- As the bootloader receives batches of transactions from the VM, it sends the information about the current batch to the SystemContext system contract before processing each transaction.
- As each transaction is processed, it goes through the flow outlined in the gas fees section.
- At the end of each batch, the bootloader informs the L1Messenger system contract for it to begin sending data to Ethereum about the transactions that were processed.