EVM Node: Keep the result of `eth_blockNumber` in memory
(I know I said I wouldn’t open a MR today. I know)
Compared to the sequencer and observer modes, the RPC mode does not keep the head of the chain in memory, and instead rely the store and the Irmin context extensively. The main reason for this was that SQLite was reasonably fast, and that Irmin keeps a cache that we don’t clear (because we don’t commit).
That being said, as part of the Infra V2 project, we need to enable the
eth_blockNumber RPC for the relay.network.etherlink.com enpdoint. We really
want this endpoint to be as light as possible, and if we can make
eth_blockNumber almost free, so be it.
It is a good thing we can!
Manually testing the MR
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Thomas Letan