I've created a notebook containing an initial exploration using the Kiln Explorer API to retrieve block hashes from proposed blocks and compare them with CloudWatch logs that can be exported via csv. This is not automated, and not an ideal solution, but gives us an idea of where we can get the data and how we can create an efficient script that can do this in real-time on an EC2 instance and write to a table in the testnet relay db. The results here:
Out of 2500 blocks served by the relay on Kiln, 56 were successfully proposed, giving an all time proposal rate of ~2%
We can either choose between explorer API's and nodes in order to compare the block hashes. Using available API's reduces the overhead of us having to run our own node, but may impose constraints caused by rate-limiting of free access. We should discuss whether it makes sense to spin up a node, choose a node provider, or find open API's to extract the block hashes of proposed blocks from each testnet.
One clear benefit of either spinning up our own nodes or choosing a provider is that we can implement this functionality as a part of the block inspection in mev-inspect-py and make this chain-agnostic, meaning it will be readily available when the merge is concluded
I've created a notebook containing an initial exploration using the Kiln Explorer API to retrieve block hashes from proposed blocks and compare them with CloudWatch logs that can be exported via csv. This is not automated, and not an ideal solution, but gives us an idea of where we can get the data and how we can create an efficient script that can do this in real-time on an EC2 instance and write to a table in the testnet relay db. The results here:
We can either choose between explorer API's and nodes in order to compare the block hashes. Using available API's reduces the overhead of us having to run our own node, but may impose constraints caused by rate-limiting of free access. We should discuss whether it makes sense to spin up a node, choose a node provider, or find open API's to extract the block hashes of proposed blocks from each testnet.
One clear benefit of either spinning up our own nodes or choosing a provider is that we can implement this functionality as a part of the block inspection in mev-inspect-py and make this chain-agnostic, meaning it will be readily available when the merge is concluded