code: func queryCmd(cf *ChaincodeCmdFactory) *cobra.Command {
  	chaincodeQueryCmd = &cobra.Command{
  		Use:       "query",
  		Short:     fmt.Sprintf("Query using the specified %s.", chainFuncName),
  		Long:      fmt.Sprintf("Get endorsed result of %s function call and print it. It won't generate transaction.", chainFuncName),
  		ValidArgs: []string{"1"},
  		RunE: func(cmd *cobra.Command, args []string) error {
  			return chaincodeQuery(cmd, cf)
  		},
  	}
  	flagList := []string{
  		"ctor",
  		"name",
  		"channelID",
  		"peerAddresses",
  		"tlsRootCertFiles",
  		"connectionProfile",
  	}
  	attachFlags(chaincodeQueryCmd, flagList)
  
  	chaincodeQueryCmd.Flags().BoolVarP(&chaincodeQueryRaw, "raw", "r", false,
  		"If true, output the query value as raw bytes, otherwise format as a printable string")
  	chaincodeQueryCmd.Flags().BoolVarP(&chaincodeQueryHex, "hex", "x", false,
  		"If true, output the query value byte array in hexadecimal. Incompatible with --raw")
  
  	return chaincodeQueryCmd
  }
docs: // queryCmd returns the cobra command for Chaincode Query