Let's say I have an application with the following transactions on chain with their respective blocks.

block 0 - <nothing>
block 1 - eat
block 2 - sleep
block 3 - play
block 4 - cook

And let't say I replay my blocks.log from snapshot at block 3

What does this mean for my chain state? Does this mean that If I query my chain table I cannot validate that eat and sleep happened since the chain was replayed after their respective blocks?

1 Answer 1


The chain state is correct since every block is built on the previous block.

However, you don't have the transactions prior to block 3 so you can't figure out when/how the state was changed. But the state is ok.

  • Thank you so in theory I can still prove I "ate" and "slept" I just cannot point out at which point this happend/changed, or in other words the "eat" and "sleep" will be in the state/db but not in the ledger?
    – edmamerto
    Mar 22, 2021 at 13:29
  • Your example is not exactly clear about what you're doing with the values. If you are inserting them into a table, then yes. Your state table will have all 4 values, but you can't tell when the first two were done because you don't have the transaction history. Mar 23, 2021 at 22:08
  • that's exactly what I meant thank you
    – edmamerto
    Mar 23, 2021 at 23:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.