zkevm-pool-manager replacement #180
vcastellm
started this conversation in
Architecture
Replies: 1 comment
-
|
Perhaps we should also discuss in detail the transaction eviction mechanism and the key factors that need to be considered, as the current |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Background
Currently we're using a
zkevm-pool-manageras a man in the middle process to rely transactions to the sequencer (relayer).The
zkevm-pool-managerwas introduced in the stack with the following responsabilities:But these responsibilities have changed:
cdk-nodecdk-nodestorageThese are the following reasons to replace the current component:
Goals & Non-goals
cdkProposal
The proposed first step is to move the zkevm-pool-manager code to the
cdkrepo and run it in the same CDK process.Rename the component to
relayerfor a more acurate name of its purpose.Second step is to refactor the Postgres storage with local SQLite storage as the other CDK components.
The throughput and the scalability of this component can be quite high for the majority of use cases, see https://wafris.org/blog/rearchitecting-for-sqlite
According to the current implementation transactions are never removed from the DB https://github.com/0xPolygon/zkevm-pool-manager/blob/9a725dcb2d66210fbdc8716c08257a0de7cae7c5/db/pooldb.go so it's also needed to implement the removal of transactions from the local DB periodically with a new config param.
Next steps
Remove the EVM specific mempool and replace it with a native
cdkmempoolBeta Was this translation helpful? Give feedback.
All reactions