code: func (b *BlockChain) BestSnapshot() *BestState {
  	b.stateLock.RLock()
  	snapshot := b.stateSnapshot
  	b.stateLock.RUnlock()
  	return snapshot
  }
docs: // BestSnapshot returns information about the current best chain block and
  // related state as of the current point in time.  The returned instance must be
  // treated as immutable since it is shared by all callers.
  //
  // This function is safe for concurrent access.