forest
forest copied to clipboard
determine and document testing workflow for mainnet compatibility
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:
- run forest with mainnet, if there are no consensus errors, then yay!
- if there is a consensus error, log what block number it is
- 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
- also, export the expected state of the block with the error from lotus
- 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.