code: func (c *Ledger) QueryInfo(reqCtx reqContext.Context, targets []fab.ProposalProcessor, verifier ResponseVerifier) ([]*fab.BlockchainInfoResponse, error) {
  	logger.Debug("queryInfo - start")
  
  	cir := createChannelInfoInvokeRequest(c.chName)
  	tprs, errs := queryChaincode(reqCtx, c.chName, cir, targets, verifier)
  
  	responses := []*fab.BlockchainInfoResponse{}
  	for _, tpr := range tprs {
  		r, err := createBlockchainInfo(tpr)
  		if err != nil {
  			errs = multi.Append(errs, errors.WithMessage(err, "From target: "+tpr.Endorser))
  		} else {
  			responses = append(responses, &fab.BlockchainInfoResponse{Endorser: tpr.Endorser, Status: tpr.Status, BCI: r})
  		}
  	}
  	return responses, errs
  }
docs: // QueryInfo queries for various useful information on the state of the channel
  // (height, known peers).