diff --git a/beacon-chain/blockchain/service.go b/beacon-chain/blockchain/service.go index 9019426a705c..9d0e1c0f58d2 100644 --- a/beacon-chain/blockchain/service.go +++ b/beacon-chain/blockchain/service.go @@ -157,7 +157,8 @@ func (s *Service) Start() { attestationProcessorSubscribed := make(chan struct{}, 1) // If the chain has already been initialized, simply start the block processing routine. - if beaconState != nil { + // A node should still initialize rest of the chain service if the finalized state's slot is 0. + if beaconState != nil && beaconState.Slot() != 0 { log.Info("Blockchain data already exists in DB, initializing...") s.genesisTime = time.Unix(int64(beaconState.GenesisTime()), 0) s.opsService.SetGenesisTime(beaconState.GenesisTime())