Monday, July 23, 2018

Fabric sdk-go usage

The flow to use go-sdk to create a new channel.

1. Get configuration from a configuration file using config.FromFile(path_to_config_file), this returns a ConfigProvider type.
2. Use ConfigProvider function and fabsdk.Option to create a sdk.
        sdk := fabsdk.New(configOpt, sdkOpts...)
3.  Use sdk.Context to create a client context.
clientContext := sdk.Context(fabsdk.WithUser(orgAdmin),
fabsdk.WithOrg(ordererOrgName))
4. Use resmgmt to create a new res management client
resMgmtClient, err := resmgmt.New(clientContext)
5. Use the resMgmtClient, orgName, and the sdk context to create a mspClient
mspClient, err := mspclient.New(sdk.Context(),
mspclient.WithOrg(orgName))
6. Get AdminIdentity using the orgAdmin string.
adminIdentity, err := mspClient.GetSigningIdentity(orgAdmin)
7. Use resmgmt.SaveChannelRequest.
    req := resmgmt.SaveChannelRequest{ChannelID: channelID,
             ChannelConfigPath: integration.GetChannelConfigPath(channelID + ".tx"),
             SigningIdentities: []msp.SigningIdentity{adminIdentity}}
8. Save the channel
    txID, err := resMgmtClient.SaveChannel(req,
resmgmt.WithRetry(retry.DefaultResMgmtOpts),
resmgmt.WithOrdererEndpoint("orderer.example.com"))
9. Make sure things went well.    
    require.Nil(t, err, "error should be nil")
    require.NotEmpty(t, txID, "transaction ID should be populated")







 

No comments:

Post a Comment