I have been working on a project, where I would like to trace all transactions from a block and for this reason I have been using a fast-syncing node. It works well, the only issue is that querying the node using the debug_traceBlockByHash endpoint is very slow. Slower than the speed of new blocks being mined. For this reason after a few blocks, I get behind and eventually due to pruning of the data, I don't have access to trace information anymore. So, my question is if it's possible to save the trace information during syncing or when receiving a new block. Thanks!

1 Answer 1

  1. Run multiple nodes doing debug_traceBlockByHash

  2. Split the work across multiple nodes e.g. by a block number

  3. Reconcialiate the results at the end to a database

I believe this is how EtherScan operates its nodes.

  • 1
    Thank you very much, very helpful answer :)
    – Jani
    Commented Jun 30, 2020 at 11:15
  • No problem Jani. Commented Jun 30, 2020 at 13:04

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.