code: func (lc *LightChain) loadLastState() error {
  	if head := rawdb.ReadHeadHeaderHash(lc.chainDb); head == (common.Hash{}) {
  		// Corrupt or empty database, init from scratch
  		lc.Reset()
  	} else {
  		if header := lc.GetHeaderByHash(head); header != nil {
  			lc.hc.SetCurrentHeader(header)
  		}
  	}
  
  	// Issue a status log and return
  	header := lc.hc.CurrentHeader()
  	headerTd := lc.GetTd(header.Hash(), header.Number.Uint64())
  	log.Info("Loaded most recent local header", "number", header.Number, "hash", header.Hash(), "td", headerTd, "age", common.PrettyAge(time.Unix(int64(header.Time), 0)))
  
  	return nil
  }
docs: // loadLastState loads the last known chain state from the database. This method
  // assumes that the chain manager mutex is held.