|
1 | | -Erigon, previously known as Turbo-Geth, is a high-performance Ethereum client designed to handle the growing demands of the Ethereum blockchain. It focuses on optimizing performance, disk space, and synchronization speed. Erigon is notable for its modular architecture, which makes it highly efficient and customizable for various blockchain tasks. |
| 1 | +[Erigon](https://github.com/ledgerwatch/erigon), previously known as Turbo-Geth, is a high-performance Ethereum client designed to handle the growing demands of the Ethereum blockchain. It focuses on optimizing performance, disk space, and synchronization speed. |
2 | 2 |
|
3 | | -Below is a high-level diagram illustrating the core components of Erigon. |
| 3 | +Erigon has a modular architecture, which makes it highly efficient and customizable for various common blockchain tasks. |
4 | 4 |
|
5 | | - |
| 5 | +## Key features |
6 | 6 |
|
7 | | -1. **Networking**: Handles P2P communication with other nodes. |
8 | | -2. **Block Processing**: Manages the validation and execution of blocks. |
9 | | -3. **Database**: Stores blockchain data in a highly optimized format. |
10 | | -4. **RPC Interface**: Provides methods for external applications to interact with the node. |
| 7 | +- Modular architecture: Erigon's modular design allows different components to be developed, optimized, and updated independently. This separation of concerns helps in improving the performance and reliability of each module. |
11 | 8 |
|
12 | | -### Key features of Erigon |
| 9 | +- Performance optimization: Erigon employs advanced techniques for data handling, such as memory-mapped files and optimized data structures, to ensure high-speed processing of blockchain data. |
13 | 10 |
|
14 | | -1. **Modular Architecture**: Erigon's modular design allows different components to be developed, optimized, and updated independently. This separation of concerns helps in improving the performance and reliability of each module. |
| 11 | +- Reduced disk usage: By implementing a more efficient database schema, Erigon significantly reduces disk usage compared to other Ethereum clients. |
15 | 12 |
|
16 | | -2. **Performance Optimization**: Erigon employs advanced techniques for data handling, such as memory-mapped files and optimized data structures, to ensure high-speed processing of blockchain data. |
| 13 | +- Fast synchronization: Erigon's fast sync method allows nodes to catch up with the blockchain more quickly by downloading only the most recent state of the blockchain, rather than the entire history. |
17 | 14 |
|
18 | | -3. **Reduced Disk Usage**: By implementing a more efficient database schema, Erigon significantly reduces disk usage compared to other Ethereum clients. |
| 15 | +## Erigon as a sequencer |
19 | 16 |
|
20 | | -4. **Fast Synchronization**: Erigon's fast sync method allows nodes to catch up with the blockchain more quickly by downloading only the most recent state of the blockchain, rather than the entire history. |
| 17 | +Blockchain sequencers play a critical role in ordering transactions and creating new blocks. Erigon's sequencer processes incoming transactions, organizes them into blocks, and propagates these blocks across the network. |
21 | 18 |
|
22 | | -### Erigon as a sequencer |
| 19 | +## RPC node |
23 | 20 |
|
24 | | -In the context of Ethereum, a sequencer plays a critical role in ordering transactions and creating new blocks. Erigon's sequencer efficiently processes incoming transactions, organizes them into blocks, and propagates these blocks across the network. |
| 21 | +The remote procedure call (RPC) interface in Erigon allows external applications to interact with the underlying blockchain. This interface is essential for decentralized applications such as dApps, wallets, and other blockchain services. The RPC provides methods for querying blockchain data, sending transactions, and managing accounts. |
25 | 22 |
|
26 | | -### RPC node |
| 23 | +The following sequence diagram shows how a transaction is processed by the Erigon node. |
27 | 24 |
|
28 | | -The Remote Procedure Call (RPC) interface in Erigon allows external applications to interact with the Ethereum blockchain. This interface is essential for decentralized applications (DApps), wallets, and other blockchain services. It provides methods for querying blockchain data, sending transactions, and managing accounts. |
| 25 | + |
29 | 26 |
|
| 27 | +## CDK erigon |
30 | 28 |
|
31 | | -#### Sequence diagram for transaction processing |
| 29 | +The CDK implementation of Erigon, available at [0xPolygonHermez/cdk-erigon](https://github.com/0xPolygonHermez/cdk-erigon), is a specialized adaptation that provides a framework for creating and managing blockchain networks with customized consensus algorithms, transaction handling, and state management tailored to specific use cases. |
32 | 30 |
|
33 | | -The following sequence diagram shows how a transaction is processed by the Erigon node. |
| 31 | +### Differences from the standard Erion |
34 | 32 |
|
35 | | - |
| 33 | +- Custom consensus mechanisms: The CDK implementation allows for the integration of custom consensus protocols, enhancing the flexibility and adaptability of the blockchain. |
36 | 34 |
|
| 35 | +- Optimized for layer 2 solutions: This adaptation is optimized for layer 2 scaling solutions which focus on high throughput and reduced transaction costs. |
37 | 36 |
|
38 | | -### Summary |
| 37 | +- Enhanced modular architecture: While Erigon is already modular, the CDK implementation extends this modularity, allowing developers to more easily customize and replace components, such as the consensus mechanism, transaction pool, and state management. |
39 | 38 |
|
40 | | -Erigon's design and performance improvements make it a powerful Ethereum client, particularly suitable for handling high transaction throughput and large data volumes. Its modular architecture allows for efficient transaction processing and data storage, making it a preferred choice for developers and node operators looking for a robust and scalable solution. |
| 39 | +- Integration with the Polygon ecosystem**: CDK Erigon is designed to seamlessly integrate with the broader Polygon ecosystem, facilitating interoperability with Polygon products and services, scaling solutions and tools. |
41 | 40 |
|
42 | | -With its advanced features, Erigon stands out as an optimal client for running both sequencer and RPC node roles in the Ethereum ecosystem. It efficiently processes transactions, maintains blockchain data, and provides a reliable interface for external applications to interact with the Ethereum blockchain. |
| 41 | +5. Tailored RPC interface: The RPC interface in the CDK implementation is adapted to support additional functionalities and optimizations, enabling more efficient communication and interaction with the network. |
0 commit comments