Currently, the downloader uses a memory cache to keep non-finalized BLOBs and only writes them to disk after they are finalized. While this approach may be sufficient for L1, where the finalization time is usually around 12 minutes, it might not be adequate for L2. On L2, the finalization time is mostly around 12 hours, which means the memory may not be enough. Therefore, we might need a disk-backed pool for L2 to handle the longer finalization times.
What are the use-cases?
L2 case.
Implementation
Do you have ideas regarding the implementation of this feature?
Geth implements a disk-backed transaction pool ( billy and limbo )
Rationale
Why should this feature exist?
Currently, the downloader uses a memory cache to keep non-finalized BLOBs and only writes them to disk after they are finalized. While this approach may be sufficient for L1, where the finalization time is usually around 12 minutes, it might not be adequate for L2. On L2, the finalization time is mostly around 12 hours, which means the memory may not be enough. Therefore, we might need a disk-backed pool for L2 to handle the longer finalization times.
What are the use-cases?
L2 case.
Implementation
Do you have ideas regarding the implementation of this feature?
Geth implements a disk-backed transaction pool ( billy and limbo )