HyperLeger织物SDK开发(三)——fabsdk

  

HyperLeger织物SDK开发(三)——fabsdk

  

一、fabsdk简介

  

1, fabsdk简介

  

fabsdk是织物SDK的主要包,fabsdk支持客户端使用Hyperledger织物区块链网络.fabsdk基于配置创建上下文环境,上下文环境会在客户端包使用。
官方文档:https://godoc.org/github.com/hyperledger/fabric-sdk-go/pkg/fabsdk

  

2, fabsdk使用基本流程

  

Fabsdk使用基本流程如下:
,使用配置实例化Fabsdk实例
B,使用Fabsdk实例基于组织和用户创建上下文环境
C,以上下文环境作为参数,使用新函数创建客户端实例。可以为需要的每个上下文环境创建一个客户端实例。
D,使用每个客户端实例提供的功能函数编写业务逻辑,构建解决方案。
E调用fsbsdk.Close()函数释放资源和缓存。

  

二,fabsdk常用接口

  

1,类型定义

  

<代码> var ErrAnonymousIdentity=错误。新(“失踪凭证”)
如果创建身份的选项既不包含用户名也不包含身份,返回ErrAnonymousIdentity。
<代码>类型选择func(选择*选项)误差
选项用于配置SDK。

  

2,获取FabricSDK实例

  
 <代码> FabricSDK struct类型{
  选择选项
  提供者* context.Provider
  cryptoSuite core.CryptoSuite
  } 
  

FabricSDK为SDK管理的客户端提供访问(和上下文)
<代码>新(configProvider核心函数。ConfigProvider,选择选项)(* FabricSDK,错误)
新根据提供的选项集初始化SDK。ConfigOptions提供应用程序配置。
使用示例如下:
<代码> SDK,呃=fabsdk.New (config.FromFile (“。/config.yaml”))

  

3,获取通道上下文

  

<代码> func (sdk * FabricSDK) ChannelContext (channelID字符串,选项…ContextOption) contextApi.ChannelProvider
ChannelContext创建并返回通道上下文。

  

4,关闭FabricSDK实例

  

<代码> func (sdk * FabricSDK)关闭()
释放sdk维护的缓存和连接

  

5,获取FabricSDK配置后台

  

<代码> func (sdk * FabricSDK)配置()(核心。ConfigBackend,错误)
配置返回所有SDK配置类型使用的配置后端

  

6,创建上下文客户端

  

<代码> func (sdk * FabricSDK)上下文(选项…ContextOption) contextApi.ClientProvider
上下文创建并返回包含所有必需提供者的上下文客户端。

  

7选项构建

  
 <代码> identityOptions struct类型{
  signingIdentity msp.SigningIdentity
  orgName字符串
  用户名的字符串
  }
  类型ContextOption func (s * identityOptions)误差 
  

ContextOption提供创建会话的参数
<代码> func WithIdentity (signingIdentity msp.SigningIdentity) ContextOption
WithIdentity使用预先构造的身份对象作为会话的凭证
<代码> func订货(用户名字符串)ContextOption
订货使用指定用户加载标识/身份
<代码> WithOrg func (org字符串)ContextOption
WithOrg使用指定的组织
使用示例:

  
 <代码> var (
  sdk * fabsdk.FabricSDK
  org=" org1 "
  用户="管理"
  )
  ctx:=sdk.Context (fabsdk.WithOrg(组织),fabsdk.WithUser(用户) 
  
 <代码>类型选择func(选择*选项)错误
  func WithCorePkg(核心sdkApi.CoreProviderFactory)选项 
  

将核心实现注入SDK
<代码> func WithCryptoSuiteConfig (cryptoConfigs…接口{})选择
WithCryptoSuiteConfig向SDK注入CryptoSuiteConfig接口,SDK接收每个CryptoSuiteConfig实现的全套接口或CryptoSuiteConfig每个实现的的子接口列表
<代码> func WithEndpointConfig (endpointConfigs…接口{})选择
WithEndpointConfig向SDK注入EndpointConfig接口,SDK接收每个EndpointConfig实现的全套接口或每个EndpointConfig实现的的子接口列表
<代码> func WithIdentityConfig (identityConfigs…接口{})选择
WithIdentityConfig向SDK注入IdentityConfig接口,SDK接收每个IdentityConfig实现的全套接口或每个IdentityConfig实现的的子接口列表
<代码> func WithLoggerPkg (logger api.LoggerProvider)选项代码
WithLoggerPkg将记录器实现注入到SDK中
<代码> func WithMSPPkg (msp sdkApi.MSPProviderFactory)选项代码
WithMSPPkg将msp实现注入SDK
<代码> func WithServicePkg(服务sdkApi.ServiceProviderFactory)选择
WithServicePkg将服务实现注入SDK

HyperLeger织物SDK开发(三)——fabsdk