GatewayClient 类分析
GatewayClient
是 Hyperledger Fabric 客户端的核心类,它提供了与 Fabric 网络交互的各种方法。
属性
gatewayBlockingStub
: 用于同步调用的 gRPC 存根。deliverAsyncStub
: 用于异步交付的 gRPC 存根。defaultOptions
: 默认的调用选项。
构造函数
GatewayClient
的构造函数接受一个通道和默认选项,并初始化与 Fabric 网络的连接。
方法
1. evaluate
- 参数:
EvaluateRequest
请求和调用选项。 - 返回:
EvaluateResponse
响应。 - 描述: 评估给定的请求并返回响应。
2. endorse
- 参数:
EndorseRequest
请求和调用选项。 - 返回:
EndorseResponse
响应。 - 描述: 背书给定的请求并返回响应。
3. submit
- 参数:
SubmitRequest
请求和调用选项。 - 返回:
SubmitResponse
响应。 - 描述: 提交给定的请求并返回响应。
4. commitStatus
- 参数:
SignedCommitStatusRequest
请求和调用选项。 - 返回:
CommitStatusResponse
响应。 - 描述: 获取给定请求的提交状态并返回响应。
5. chaincodeEvents
- 参数:
SignedChaincodeEventsRequest
请求和调用选项。 - 返回:
ChaincodeEventsResponse
的迭代器。 - 描述: 获取链码事件。
6. blockEvents
- 参数:
Envelope
请求和调用选项。 - 返回:
DeliverResponse
的迭代器。 - 描述: 获取块事件。
7. filteredBlockEvents
- 参数:
Envelope
请求和调用选项。 - 返回:
DeliverResponse
的迭代器。 - 描述: 获取过滤后的块事件。
8. blockAndPrivateDataEvents
- 参数:
Envelope
请求和调用选项。 - 返回:
DeliverResponse
的迭代器。 - 描述: 获取块和私有数据事件。
内部类
1. ResponseIterator
- 描述: 一个实现了
CloseableIterator
接口的迭代器,用于处理响应。
2. ResponseObserver
- 描述: 一个实现了
StreamObserver
和Iterator
接口的观察者,用于处理双向流式调用的响应。
总结
GatewayClient
类为 Hyperledger Fabric 提供了与网络交互的核心方法,如评估、背书、提交等。它还提供了处理链码事件、块事件和其他相关事件的方法。此外,它还包含了处理响应的内部类,如 ResponseIterator
和 ResponseObserver
。