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.

1 Answer 1


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
    Commented Jan 14, 2020 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. Commented Jan 14, 2020 at 8:36
  • 1
    Not true. You can trace older blocks with a full node. By default, it traces the last 128 nodes.
    – ferit
    Commented Jan 14, 2020 at 15:36
  • 1
    The question was about ancient blocks. Commented Jan 14, 2020 at 20:10
  • Yeah, block 6000000 is ancient for me.
    – ferit
    Commented Jan 15, 2020 at 13:23

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.