4
4
"encoding/json"
5
5
"fmt"
6
6
"io"
7
+ "time"
7
8
8
9
"github.com/hyperledger/fabric-sdk-go/pkg/client/channel"
9
10
"github.com/hyperledger/fabric-sdk-go/pkg/core/config"
@@ -21,26 +22,32 @@ type queryChaincodeCmd struct {
21
22
fcn string
22
23
args []string
23
24
transient string
25
+ mspID string
24
26
}
25
27
26
28
func (c * queryChaincodeCmd ) validate () error {
27
29
return nil
28
30
}
29
31
func (c * queryChaincodeCmd ) run (out io.Writer ) error {
30
- oclient , err := helpers .GetKubeOperatorClient ()
31
- if err != nil {
32
- return err
33
- }
34
- clientSet , err := helpers .GetKubeClient ()
35
- if err != nil {
36
- return err
37
- }
38
- peer , err := helpers .GetPeerByFullName (clientSet , oclient , c .peer )
39
- if err != nil {
40
- return err
32
+ var mspID string
33
+ if c .mspID != "" {
34
+ mspID = c .mspID
35
+ } else {
36
+ oclient , err := helpers .GetKubeOperatorClient ()
37
+ if err != nil {
38
+ return err
39
+ }
40
+ clientSet , err := helpers .GetKubeClient ()
41
+ if err != nil {
42
+ return err
43
+ }
44
+ peer , err := helpers .GetPeerByFullName (clientSet , oclient , c .peer )
45
+ if err != nil {
46
+ return err
47
+ }
48
+ mspID = peer .Spec .MspID
41
49
}
42
- mspID := peer .Spec .MspID
43
- peerName := peer .Name
50
+ peerName := c .peer
44
51
configBackend := config .FromFile (c .configPath )
45
52
sdk , err := fabsdk .New (configBackend )
46
53
if err != nil {
@@ -63,10 +70,10 @@ func (c *queryChaincodeCmd) run(out io.Writer) error {
63
70
if c .transient != "" {
64
71
err = json .Unmarshal ([]byte (c .transient ), & transientMap )
65
72
if err != nil {
66
- return err
73
+ return err
67
74
}
68
75
}
69
-
76
+ t := time . Now ()
70
77
response , err := ch .Query (
71
78
channel.Request {
72
79
ChaincodeID : c .chaincode ,
@@ -81,6 +88,7 @@ func (c *queryChaincodeCmd) run(out io.Writer) error {
81
88
if err != nil {
82
89
return err
83
90
}
91
+ fmt .Printf ("Query took %s\n " , time .Since (t ))
84
92
_ , err = fmt .Fprint (out , string (response .Payload ))
85
93
if err != nil {
86
94
return err
@@ -108,6 +116,7 @@ func newQueryChaincodeCMD(out io.Writer, errOut io.Writer) *cobra.Command {
108
116
persistentFlags .StringVarP (& c .fcn , "fcn" , "" , "" , "Function name" )
109
117
persistentFlags .StringArrayVarP (& c .args , "args" , "a" , []string {}, "Function arguments" )
110
118
persistentFlags .StringVarP (& c .transient , "transient" , "t" , "" , "Transient map" )
119
+ persistentFlags .StringVarP (& c .mspID , "mspID" , "" , "" , "MSP ID" )
111
120
cmd .MarkPersistentFlagRequired ("user" )
112
121
cmd .MarkPersistentFlagRequired ("peer" )
113
122
cmd .MarkPersistentFlagRequired ("config" )
0 commit comments