---
# System prepended metadata

title: EPF cohort 4 - Week 9

---

### Week 9 Recap: In-Depth Understanding of Optimism's Opstack and Sequencer

#### Introduction

In the ninth week, I delved deeper into the concepts of Optimism's Opstack and Sequencer. This article aims to summarize these topics and provide practical code examples and explanations.

#### My Contribution

To gain a deeper understanding of these concepts, I organized some ideas and the current path into a series of manuscripts. I plan to compile the contents of these manuscripts into GitHub repositories later to help others understand the entire code flow more quickly. Currently, I have already created two GitHub repositories to host this content: [Understanding Optimism Codebase](https://github.com/joohhnnn/Understanding-Optimism-Codebase) and [Understanding Optimism Codebase (CN)](https://github.com/joohhnnn/Understanding-Optimism-Codebase-CN).

#### Opstack Concept

Opstack is a core component of Optimism responsible for handling various operations on Layer 2. Specific specifications and details can be found in the [Optimism official GitHub repository](https://github.com/ethereum-optimism/optimism/tree/develop/specs).

##### Key Features

- **Efficiency**: Opstack improves transaction processing speed through optimized algorithms and data structures.
- **Security**: It employs multiple encryption techniques to ensure data security.
- **Scalability**: Opstack can easily scale to handle more transactions and operations.

#### Sequencer's Working Principle

Sequencer is the component responsible for generating Layer 2 blocks.

##### How Layer 2 Blocks Are Generated

1. **Transaction Retrieval**: The Sequencer first fetches pending transactions from the transaction pool.
2. **Transaction Verification**: It performs necessary verifications on the transactions to ensure their validity.
3. **Transaction Sorting**: Transactions are sorted based on a specific algorithm.
4. **Transaction Packaging**: Sorted transactions are packaged into a new Layer 2 block.
5. **Block Submission**: Finally, the Sequencer submits the newly generated block to Layer 1.

#### Conclusion

By gaining an in-depth understanding of Opstack and Sequencer and organizing my thoughts into manuscripts, I have contributed not only to a deeper understanding of Optimism's internal workings but also to the creation of GitHub repositories to facilitate a quicker understanding of the entire code flow for others. Currently, I have created two GitHub repositories, one for the English version [Understanding Optimism Codebase](https://github.com/joohhnnn/Understanding-Optimism-Codebase) and another for the version in my native language, [Understanding Optimism Codebase (CN)](https://github.com/joohhnnn/Understanding-Optimism-Codebase-CN).

