I have full-synced a Geth 1.9.9 node but my requests including ancient blocks erroring. I know this is because of state-pruning but I wonder how to enable tracing for an ancient block so it returns the result instead of an error.


You need to run an archive node, rather than just a full one. Use --gcmode archive command line option. See documentation for details.

  • I can't because of storage costs. I want tracer to tracer it on the fly.
    – ferit
    Jan 14 '20 at 1:11
  • In order to trace a transaction one needs to have blockchain state as it was right before the transaction, so to be able to trace arbitrary ancient transactions you need to have the whole history of blockchain states. This is what archive node does. Jan 14 '20 at 8:36
  • 1
    Not true. You can trace older blocks with a full node. By default, it traces the last 128 nodes.
    – ferit
    Jan 14 '20 at 15:36
  • The question was about ancient blocks. Jan 14 '20 at 20:10
  • Yeah, block 6000000 is ancient for me.
    – ferit
    Jan 15 '20 at 13:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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