func (d *Devops) createExecTx(spec *pb.ChaincodeInvocationSpec, attributes []string, uuid string, invokeTx bool, sec crypto.Client) (*pb.Transaction, error) { var tx *pb.Transaction var err error //TODO What should we do with the attributes if nil != sec { if devopsLogger.IsEnabledFor(logging.DEBUG) { devopsLogger.Debugf("Creating secure invocation transaction %s", uuid) } if invokeTx { tx, err = sec.NewChaincodeExecute(spec, uuid, attributes...) } else { tx, err = sec.NewChaincodeQuery(spec, uuid, attributes...) } if nil != err { return nil, err } } else { if devopsLogger.IsEnabledFor(logging.DEBUG) { devopsLogger.Debugf("Creating invocation transaction (%s)", uuid) } var t pb.Transaction_Type if invokeTx { t = pb.Transaction_CHAINCODE_INVOKE } else { t = pb.Transaction_CHAINCODE_QUERY } tx, err = pb.NewChaincodeExecute(spec, uuid, t) if nil != err { return nil, err } } return tx, nil }
func createTransaction(invokeTx bool, spec *pb.ChaincodeInvocationSpec, uuid string) (*pb.Transaction, error) { var tx *pb.Transaction var err error var sec crypto.Client if nil != sec { sec, err = crypto.InitClient(spec.ChaincodeSpec.SecureContext, nil) defer crypto.CloseClient(sec) if nil != err { return nil, err } if invokeTx { tx, err = sec.NewChaincodeExecute(spec, uuid) } else { tx, err = sec.NewChaincodeQuery(spec, uuid) } if nil != err { return nil, err } } else { var t pb.Transaction_Type if invokeTx { t = pb.Transaction_CHAINCODE_INVOKE } else { t = pb.Transaction_CHAINCODE_QUERY } tx, err = pb.NewChaincodeExecute(spec, uuid, t) if nil != err { return nil, err } } return tx, nil }