2

在客户端应用程序(使用 Node/Go)中,我们提供连接配置文件来识别背书者的端点。

在那里,我们根据 grpc://localhost:port 指定对等点的端点,但实际上 gRPC 在 HTTP2 上运行,对吗?

那么 Fabric SDK 是将端点转换为 HTTP url 还是由 Fabric 对等代码处理?

我的意思是如何将 grpc 端点转换为 HTTP 端点?

还是对等方暴露了 grpc 端点本身?如果是,如何?

4

2 回答 2

1

对于前端和 Hyperledger Fabric 层之间的通信,我们有两种方式,一种使用 gRPC 调用,或者使用 Hyperledger 社区提供的 SDK 之一。v1.0 之后没有 REST API 调用,而 v0.6 有 REST API 调用,您可以使用 IP 地址向 Orderer 发起交易,然后是 Consensus。

将其限制为 gRPC 和 SDK 可以改善设计和连接安全问题,这对于区块链的工作至关重要。gRPC 是用于通信的 HTTPS 2.0 协议,它比 HTTPS 1.1 速度更快并且具有改进的安全功能。SDK 使用 gRPC 调用与网络通信。所以,说白了,如果你需要和网络通信,你只需要使用 gRPC 调用

于 2020-03-13T09:08:29.737 回答
0

正如@david_k 在上面的评论中所建议的,连接配置文件中的 URL 用于在识别它是grpc还是grpcs(通过 SSL)调用后提取主机和端口号。

验证:

  1. 部署fabcar示例并安装节点模块。
  2. 转到目录Endpoint.jsfabric-common节点模块中的lib文件。在此处编辑与第 44 行对应的行。
  3. 转到first-network目录(fabcar 示例使用的网络)以编辑连接配置文件。替换与您在节点模块中对文件所做的编辑相对应的 peer 和orderer URL 中的 grpcs。Endpoint.js
  4. 返回javascript目录并获取钱包身份。
  5. 修改invoke.js以读取新的连接配置文件。
  6. 执行它可以看到事务提交成功。

因此,我们可以确定只有主机和端口是从 URL 中获取的,用于对结构网络进行grpc/grpcs调用。

于 2020-03-16T05:39:28.313 回答