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

版权声明:忠于祖国,忠于人民 https://blog.csdn.net/boss2967/article/details/83068493
导语

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 的安装非常简单, 执行命令:

在这里插入图片gO

8.4.2 创建配置文件

Fabric GoLang SDK 需要依赖一个配置文件,该配置文件采用YAML的格式。配置格式如下:
dfdf
2332

完整的配直文件可以 参考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的例子

在这里插入图片描述
在这里插入图片描述
在这sd入的描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 上面有两获取账号 的方式

  • 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的信息

  • 在这里插入图片描述

Fabric Golang SDK中Chaincode相关操作接口
  • 调用Chaincode的query方法
    在这里插入图片描述

  • 调用一个已经部署的Chaincode 的invoke方法
    在这里插入图片描述
    在这里插入图片描述

8.4.5 Fabric Golang SDK 的背书操作

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

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

小结

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

猜你喜欢

转载自blog.csdn.net/boss2967/article/details/83068493
今日推荐