Fabric SDK调用流程
1、文字描述
sdk, err := fabsdk.New(config.FromFile(sdkConfig))
rcp := sdk.Context(fabsdk.WithOrg(orgName), fabsdk.WithUser(userName))
- 获取指定Channel的Channel Provider
ccp := sdk.ChannelContext(channelID, fabsdk.WithUser(userName))
- 获取该Channel的Channel Client
cc, err := channel.New(ccp)
var req = &channel.Request{
ChaincodeID: chaincodeID,
Fcn fcn,
Args args,
TransientMap transientMap,
}
var opts = []channel.RequestOption
opts = append(opts, channel.WithTargetEndpoints(peer...)
opts = append(opts, channel.WithOrdererEndpoint(orderers...))
response, err := cc.Execute(*req, opts...)
response, err := cc.Query(*req, opts...)
ec, err := event.New(ccp, event.WithBlockEvents())
blockReg, notify, err := ec.RegisterBlockEvent()
chaincodeReg, notify, err := ec.RegisterChaincodeEvent(chaincodeId, ".*")
txReg, notify, err := ec.RegisterTxStatusEvent(txId)
for {
select {
case event := <- notify:
}
}
ec.Unregister(blockReg)
ec.Unregister(chaincodeReg)
ec.Unregister(txReg)
2、图解
