08.Fabric和Fabric-ca的编程接口

导语

Fabric的Peer节点和Orderer节点都提提供了基于GRPC协议的接口,通过这些接口可以和Peer节点以及Orderer节点进行交互。于是Fabric 提供了sdk来简化访问Peer节点和Orderer节点。

8.1 Fabric接口的通信协议和功能划分

1.Grpc协议

开源的远程过程调用 RPC系统

2.Fabric模块的Grpc接口

Peer 模块和 Orderer 模块提供了 Grpc 相关的接口,但是在项目就开发中并不直接调用Orderer模块中Grpc接口,主要是Fabric的Peer模块的Grpc接口的调用方式。

3,Fabric的Peer模块的接口功能划分
  • 系统管理
  • Chaincode相关操作
系统管理
  • 获取当前 Peer 加入了哪些 Channl
  • 获取当前Peer 加入的某个Channel的区块数
  • 获取当前Peer加入的某个Channel中的某个区块号,获取区块的详细信息
  • 根据当前Peer加入的某个Channel中的某个区块的哈希值,获取区块的详细信息
  • 根据当前Peer加入的某个 Channel中交易的哈希值,获取交易的详细信息
  • 获取当前Peer服务器中状态为install的Chaincode的信息
  • 根据当前Peer加入的某个Channel中状态为Instantiate的Chaincode的详细信息
Chaincode相关操作
  • 调用Chaincode的query方法
  • 调用一个已经部署的Chaincode的invoke方法
Fab ric-ca-server的RESTAPI接口
  • 注册一个Fabric账号
  • 加载一个已经注册过得Fabric账号

在开发中尽量使用sdk,尽量避免重复发明轮子

8.4 Fabric Go SDK

Golang是Fabric源生的开发语言,Fabric和Fabric-ca都是Goalng开发的,Fabric的Chaincode也是采用Golang开发的。

下面开始是非常重要的

8.4.1 Fabric Golang的安装

Fabric Golang SDK 的安装非常简单, 执行命令:

08.Fabric和Fabric-ca的编程接口_第1张图片

8.4.2 创建配置文件

Fabric GoLang SDK 需要依赖一个配置文件,该配置文件采用YAML的格式。配置格式如下:
08.Fabric和Fabric-ca的编程接口_第2张图片
08.Fabric和Fabric-ca的编程接口_第3张图片

完整的配直文件可以 参考h ttps: // gi thub. com/hyper ledger/fabric-sdk- go/b lob/master I test/fixtures/ config/ config test. yaml

8.4.3 一个简单的golang 访问Fabric的例子

08.Fabric和Fabric-ca的编程接口_第4张图片
08.Fabric和Fabric-ca的编程接口_第5张图片
08.Fabric和Fabric-ca的编程接口_第6张图片在这里插入图片描述08.Fabric和Fabric-ca的编程接口_第7张图片08.Fabric和Fabric-ca的编程接口_第8张图片 上面有两获取账号 的方式

  • fabric_local:通过使用cryptogen模块生成的账号访问Peer服务器节点
  • fabirc-ca: 通过使用fabric-ca-server 授权的账号访问Peer服务器节点
8.4.4 Fabric Golang SDK其他的方法
  • 获取当前Peer节点加入那些Channel

  • sd

  • 获取当前Peer加入的某个Channel的区块数

  • asd

  • 根据当前Peer加入的某个Channel中的某个区块号,获取区块的详细信息
    - 在这里插入图片描述

  • 根据当前的Peer加入的某个Channel中的某个区块的哈希值,获取区块的详细信息

  • 在这里插入图片描述 - 根据当前的Peer加入的某个Channel中交易的哈希值,获取交易的详细信息

  • 在这里插入图片描述

  • 获取当前Peer服务器中状态install的Chaincode的信息

  • 08.Fabric和Fabric-ca的编程接口_第9张图片

Fabric Golang SDK中Chaincode相关操作接口
  • 调用Chaincode的query方法
    08.Fabric和Fabric-ca的编程接口_第10张图片

  • 调用一个已经部署的Chaincode 的invoke方法
    08.Fabric和Fabric-ca的编程接口_第11张图片
    08.Fabric和Fabric-ca的编程接口_第12张图片

8.4.5 Fabric Golang SDK 的背书操作

在Golang 中进行背书操作是非常简单的。只需要在执行发起交易之前,添加需要背书的Peer节点即可,相关代码如下:
在这里插入图片描述
在这里插入图片描述
上述代码中增加了一个背书节点,该节点的IP地址为: 172.16.188:7051,端口号为:7051

背书节点必须安装和目标节点一样的Chaincode。

小结

背书操作虽然简单。 但是每个sdk都有单独的提示,这是一个非常重要的功能,从sdk触发,可以简化我们开发难度,大大提高开发效率。

你可能感兴趣的:(hyperledger笔记)