eth/tracers: use non-threaded tracechain (#24283)

This makes non-JS tracers execute all block txs on a single goroutine.
In the previous implementation, we used to prepare every tx pre-state
on one goroutine, and then run the transactions again with tracing enabled.
Native tracers are usually faster, so it is faster overall to use their output as
the pre-state for tracing the next transaction.

Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
This commit is contained in:
Martin Holst Swende
2023-01-10 15:11:53 +01:00
committed by GitHub
co-authored by Sina Mahmoodi
parent 7a489623ac
commit 2c6dda5ad7
12 changed files with 121 additions and 129 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ import (
)
func init() {
register("4byteTracer", newFourByteTracer)
tracers.DefaultDirectory.Register("4byteTracer", newFourByteTracer, false)
}
// fourByteTracer searches for 4byte-identifiers, and collects them for post-processing.