code: func (api *API) SubmitHashRate(rate hexutil.Uint64, id common.Hash) bool {
  	if api.ethash.config.PowMode != ModeNormal && api.ethash.config.PowMode != ModeTest {
  		return false
  	}
  
  	var done = make(chan struct{}, 1)
  
  	select {
  	case api.ethash.submitRateCh <- &hashrate{done: done, rate: uint64(rate), id: id}:
  	case <-api.ethash.exitCh:
  		return false
  	}
  
  	// Block until hash rate submitted successfully.
  	<-done
  
  	return true
  }
docs: // SubmitHashrate can be used for remote miners to submit their hash rate.
  // This enables the node to report the combined hash rate of all miners
  // which submit work through this node.
  //
  // It accepts the miner hash rate and an identifier which must be unique
  // between nodes.