| This removes the burden on a single object to take care of all validation and state processing. Now instead the validation is done by the `core.BlockValidator` (`types.Validator`) that takes care of both header and uncle validation through the `ValidateBlock` method and state validation through the `ValidateState` method. The state processing is done by a new object `core.StateProcessor` (`types.Processor`) and accepts a new state as input and uses that to process the given block's transactions (and uncles for rewords) to calculate the state root for the next block (P_n + 1). | ||
|---|---|---|
| .. | ||
| api | ||
| codec | ||
| comms | ||
| shared | ||
| useragent | ||
| jeth.go | ||
| xeth.go | ||