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
-
Background
Currently we're using a
zkevm-pool-manager
as a man in the middle process to rely transactions to the sequencer (relayer).The
zkevm-pool-manager
was introduced in the stack with the following responsabilities:But these responsibilities have changed:
cdk-node
cdk-node
storageThese are the following reasons to replace the current component:
Goals & Non-goals
cdk
Proposal
The proposed first step is to move the zkevm-pool-manager code to the
cdk
repo and run it in the same CDK process.Rename the component to
relayer
for 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
cdk
mempoolBeta Was this translation helpful? Give feedback.
All reactions