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、可定制的持久化存储