If you want to reuse your blockchain data in a fork (for example, to access the Bitcoin Gold coins after the fork), do I need to put both blocks and chainstate folder, or chainstate will not be compatible even if both Bitcoin Core and Bitcoin Gold Core (or whatever is called) are basically the same? (let's say it's an 0.15 fork, which I still don't know) or should I only use the blocks folder because the chainstate folder can never be compatible with a fork?
The chainstate folder can be compatible in a fork. However if the chainstate folder is for a blockchain that is synced past the fork, it may not necessarily work when switching to the other fork of the blockchain.
But isn't this the case with the block files too?
If I opened Bitcoin Core client today and synced it, and I tried to access Bitcoin Cash with the Bitcoin ABC client and I put the blocks folder there in the ABC folder, my blocks would have newer blocks that never happened in the Bitcoin Cash chain.
So I open ABC with these block files and it reaches past the day of the fork... what happens with the existing block files that don't correspond to the BCash chain? It just starts downloading and they get overwritten? Why is this different with the chainstate files?
(PS: I guess I could always order the files by date and just copy the blocks and chainstate files right before the fork happened)