HyperLeger Fabric SDK开发(一)——Fabric SDK开发简介
一、Fabric SDK简介
1、Fabric SDK简介
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、查询交易或区块的账本
2、Fabric SDK安装
下载Fabric SDK:go get -u github.com/hyperledger/fabric-sdk-go
3、Fabric Go SDK源码结构
pkg/fabsdk:?Fabric SDK的主要包,允许基于配置创建上下文。上下文由客户端软件包使用。
pkg/client/channel: 提供通道交易相关功能
pkg/client/event: 提供通道事件相关功能
pkg/client/ledger:?启用对通道底层账本的查询相关功能
pkg/client/resmgmt:?提供资源管理功能,例如安装链码
pkg/client/msp:?启用身份管理相关功能
二、Fabric SDK功能模块
1、API
对于应用开发者来说,插件化的API可以支持SDK提供的关键接口的可选实现。对于每个接口,都有内置的默认实现,也可以灵活自定义。
2、fabric-client
fabric-client模块提供API与基于Hypreledger Fabric区块链网络的核心组件(即peer,order和事件流)进行交互,主要功能如下:
A、创建channel
B、请求peer节点加入通道
C、在peer节点中安装链码
D、在通道中实例化链码
E、通过调用链码来调用事务
F、多种查询
G、监听事件
3、fabric-ca-client
fabric-ca-client模块提供与可选组件fabric-ca进行交互的API,fabric-ca提供成员管理服务。fabric-ca-client模块主要功能如下:
A、注册新用户
B、注册用户以获得由Fabric CA签名的注册证书
C、通过注册ID撤销现有用户或撤消特定证书
D、可定制的持久化存储
原文地址:http://blog.51cto.com/9291927/2322903