Farbric的Peer节点和Orderer节点都提供了基于gRPC协议的接口,用于和Peer节点与Orderer节点进行命令/数据交互。为了简化开发,为开发人员开发应用程序提供操做Fabric区块链网络的API,Fabric官方提供了多种语言版本的SDK。
Fabric提供了三种语言版本的SDK,分别以下:
A、Fabric Nodejs SDK
B、Fabric Java SDK
C、Fabric Go SDK
Fabric区块链应用能够经过SDK访问Fabric区块链网络中的多种资源,包括帐本、交易、链码、事件、权限管理等。应用程序表明用户与Fabric区块链网络进行交互,Fabric SDK API提供了以下功能:
A、建立通道
B、将peer节点加入通道
C、在peer节点安装链码
D、在通道实例化链码
E、经过链码调用交易
F、查询交易或区块的帐本git
下载Fabric SDK:go get -u github.com/hyperledger/fabric-sdk-go
github
pkg/fabsdk: Fabric SDK的主要包,容许基于配置建立上下文。上下文由客户端软件包使用。
pkg/client/channel: 提供通道交易相关功能
pkg/client/event: 提供通道事件相关功能
pkg/client/ledger: 启用对通道底层帐本的查询相关功能
pkg/client/resmgmt: 提供资源管理功能,例如安装链码
pkg/client/msp: 启用身份管理相关功能网络
对于应用开发者来讲,插件化的API能够支持SDK提供的关键接口的可选实现。对于每一个接口,都有内置的默认实现,也能够灵活自定义。ide
fabric-client模块提供API与基于Hypreledger Fabric区块链网络的核心组件(即peer,order和事件流)进行交互,主要功能以下:
A、建立channel
B、请求peer节点加入通道
C、在peer节点中安装链码
D、在通道中实例化链码
E、经过调用链码来调用事务
F、多种查询
G、监听事件区块链
fabric-ca-client模块提供与可选组件fabric-ca进行交互的API,fabric-ca提供成员管理服务。fabric-ca-client模块主要功能以下:
A、注册新用户
B、注册用户以得到由Fabric CA签名的注册证书
C、经过注册ID撤销现有用户或撤消特定证书
D、可定制的持久化存储插件