[go: up one dir, main page]

EVM: failsafe storage in /tmp/evm and not just /tmp

Context

The current behavior of the failsafe storage is:

  1. Copy /evm to /tmp
  2. Every code that writes or reads to the storage just takes the key-path, e.g. /ticketer and the failsafe storage adds the prefix /tmp, therefore it becomes /tmp/ticketer.
  3. At the end, it we promote the storage we move /tmp/ticketer to /evm/ticketer.

This was actually a very bad idea, it's not clear whether you need to add the /evm prefix or not, because some hidden code does it for you. We've made the mistake multiple times. As we'll move the failsafe storage to /evm/world_state only, I cannot live anymore with the automatic /evm prefix, it just wouldn't work, I can explain this in details if required. Therefore I again a preliminary step, by redefining the current failsafe storage without modifying overall its behavior.

This merge requests must not change any path. It should purely modify the internal state of the kernel in the kernel_entry.

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.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR

Merge request reports

Loading