Fabric-Gateway 相关接口解析(1)-Gateway 类【适用于fabric V2.5】

链接:fabric-gateway v1.3版本
Gateway 类网关接口

Hyperledger Fabric 网关接口

提供的代码定义了Hyperledger Fabric网关的接口。网关为应用程序提供了一个连接点,以便作为特定用户访问Fabric网络。

概述

Gateway接口提供了以下方法:

  • 连接到Fabric网络。
  • 访问特定的网络(通道)。
  • 与这些网络上的合约互动。
  • 将交易提交到账本。
  • 监听网络发出的事件。

详细分解

Gateway接口

方法:
  • newInstance():创建网关构建器的新实例。
  • getIdentity():返回用于与Fabric互动的身份。
  • getNetwork(String networkName):返回代表网络的对象。
  • newSignedProposal():使用数字签名创建提案。
  • newProposal():从序列化数据重新创建提案。
  • newSignedTransaction():使用数字签名创建交易。
  • newTransaction():从序列化数据重新创建交易。
  • newSignedCommit():使用数字签名创建提交。
  • newCommit():从序列化数据重新创建提交。
  • newSignedChaincodeEventsRequest():使用数字签名创建链码事件请求。
  • newChaincodeEventsRequest():从序列化数据重新创建链码事件请求。
  • newSignedBlockEventsRequest():使用数字签名创建块事件请求。
  • newBlockEventsRequest():从序列化数据重新创建块事件请求。
  • newSignedFilteredBlockEventsRequest():使用数字签名创建过滤的块事件请求。
  • newFilteredBlockEventsRequest():从序列化数据重新创建过滤的块事件请求。
  • newSignedBlockAndPrivateDataEventsRequest():使用数字签名创建块和私有数据事件请求。
  • newBlockAndPrivateDataEventsRequest():从序列化数据重新创建块和私有数据事件请求。
  • close():关闭网关连接及所有相关资源。

Builder接口

Builder接口嵌套在Gateway接口内,并提供了配置和连接新Gateway实例的方法。

方法:
  • connection(Channel grpcChannel):指定网关使用的现有gRPC连接。
  • identity(Identity identity):指定用于连接到网络的客户端身份。
  • signer(Signer signer):指定用于签署发送到Fabric网络的消息的签名实现。
  • hash(Function<byte[], byte[]> hash):指定用于生成发送到Fabric网络的消息摘要的哈希实现。
  • evaluateOptions():指定评估交易的默认调用选项。
  • endorseOptions():指定背书的默认调用选项。
  • submitOptions():指定将交易提交到排序器的默认调用选项。
  • commitStatusOptions():指定检索交易提交状态的默认调用选项。
  • chaincodeEventsOptions():指定链码事件的默认调用选项。
  • blockEventsOptions():指定块事件的默认调用选项。
  • filteredBlockEventsOptions():指定过滤的块事件的默认调用选项。
  • blockAndPrivateDataEventsOptions():指定块和私有数据事件的默认调用选项。
  • connect():使用指定的选项连接到网关。

使用示例

代码提供了如何使用网关的示例:

Identity identity = new X509Identity("mspId", certificate);
Signer signer = Signers.newPrivateKeySigner(privateKey);

Gateway.Builder builder = Gateway.newInstance()
        .identity(identity)
        .signer(signer)
        .connection(grpcChannel);

try (Gateway gateway = builder.connect()) {
    Network network = gateway.getNetwork("channel");
    // 与网络互动
}

在此示例中:

  • 创建了身份和签名者。
  • 实例化并配置了一个新的网关构建器,配置了身份、签名者和gRPC通道。
  • 连接了网关,并访问了特定的网络(通道)进行互动。

结论

Hyperledger Fabric的Gateway接口为应用程序与Fabric网络的互动提供了一种简化的方式。它抽象了底层网络的复杂性,并为交易提交、事件监听和网络互动提供了一套直接的方法集。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值