diff --git a/core/chain_indexer.go b/core/chain_indexer.go index a27caeed5e..837c908abc 100644 --- a/core/chain_indexer.go +++ b/core/chain_indexer.go @@ -202,11 +202,9 @@ func (c *ChainIndexer) eventLoop(currentHeader *types.Header, ch chan ChainEvent } header := ev.Block.Header() if header.ParentHash != prevHash { - var rollbackNum uint64 if h := FindCommonAncestor(c.chainDb, prevHeader, header); h != nil { - rollbackNum = h.Number.Uint64() + c.newHead(h.Number.Uint64(), true) } - c.newHead(rollbackNum, true) } c.newHead(header.Number.Uint64(), false) diff --git a/les/backend.go b/les/backend.go index 094d164b83..52ad495b80 100644 --- a/les/backend.go +++ b/les/backend.go @@ -114,6 +114,7 @@ func New(ctx *node.ServiceContext, config *eth.Config) (*LightEthereum, error) { if leth.blockchain, err = light.NewLightChain(leth.odr, leth.chainConfig, leth.engine); err != nil { return nil, err } + leth.bbIndexer.Start(leth.blockchain) // Rewind the chain in case of an incompatible config upgrade. if compat, ok := genesisErr.(*params.ConfigCompatError); ok { log.Warn("Rewinding chain to upgrade configuration", "err", compat)