Create a unified view of mempool transactions across multiple nodes and determine if a global mempool has a substantially more “global" view of pending transactions in the network.
Create a unified view of mempool transactions across multiple nodes and determine if a global mempool has a substantially more “global" view of pending transactions in the network.
Determine if the raw number of transactions are consistently larger over time with a global pool versus a singular pool. We can also see how fast popular transactions, say from a DEX like MagicEden, land in a global mempool vs a singular mempool.
Questions to consider
Are some nodes consistently lagging?
How quickly do transactions propagate globally?
Does the union pool improve coverage significantly or marginally?
What percentage of transactions are “orphaned” (seen by one node only)?
Deliverables:
Provide a mempool proxy RPC that can be a drop-in replacement for a standard node RPC as it pertains to mempool transaction queries.
Expand upon the getblocktemplate RPC call to return blocks for N number of blocks instead of just 1 using the same or similar algorithm in the existing RPC function in Core.
Maintain a continuously refreshed database that tracks the following: unified transactions across the nodes, transactions details for each transaction coming from each node, transaction families (if possible) and interconnected node states.
Determine the optimal algorithm for syncing and maintaining a valid global view. How should this unified view be continuously and efficiently sorted?
Bonus: some kind of clean dashboard with visualization showing global sync.
Log in or sign up for Devpost to join the conversation.