forest icon indicating copy to clipboard operation
forest copied to clipboard

determine and document testing workflow for mainnet compatibility

Open noot opened this issue 4 years ago • 0 comments
trafficstars

Task summary

  • determine and document the steps for testing whether forest is compatible with mainnet, and if it isn't, a way to check the differences between the lotus and forest state tries at a specific block
  • workflow should be something like:
  1. run forest with mainnet, if there are no consensus errors, then yay!
  2. if there is a consensus error, log what block number it is
  3. export the parent state of the block with the error (ie. by extracting it from a lotus/forest node), eg. if there was an error at block 100, get the parent state of block 99
  4. also, export the expected state of the block with the error from lotus
  5. load the parent state into forest and perform the state transition. (also load the expected state) now, we can easily check the diffs between the two.
  • once we have the diffs, we can see specifically what keys have a mismatch and from there backtrace it into the actors implementation
  • the outcome of this issue will be specific instructions for performing the above, and probably some utility for getting/loading the needed state tries.

noot avatar Nov 09 '21 17:11 noot