簡體   English   中英

為什么 Hyperledger Fabric 中的連接配置文件有 gRPC URL?

[英]Why does connection profile in Hyperledger Fabric has gRPC URL?

在客戶端應用程序(使用 Node/Go)中,我們提供連接配置文件來識別背書者的端點。

在那里我們根據 grpc://localhost:port 指定對等點的端點,但實際上 gRPC 在 HTTP2 上運行,對嗎?

那么 Fabric SDK 是將端點轉換為 HTTP url 還是由 Fabric 對等代碼處理?

我的意思是 grpc 端點如何轉換為 HTTP 端點?

或者對等方是否公開了 grpc 端點本身? 如果是,如何?

對於前端和 Hyperledger Fabric Layer 之間的通信,我們有兩種方式,一種使用 gRPC 調用或使用 Hyperledger Community 提供的 SDK 之一。 v1.0 之后沒有 REST API 調用,而 v0.6 具有 REST API 調用,您可以在其中使用 IP 地址將交易發送到 Orderer,然后是 Consensus。

使其僅限於 gRPC 和 SDK 改善了設計和連接安全問題,這對於區塊鏈的工作至關重要。 gRPC 是用於通信的 HTTPS 2.0 協議,它比 HTTPS 1.1 更快並且具有改進的安全功能。 SDK 使用 gRPC 調用與網絡通信。 所以,說白了,如果你需要和 Network 通信,你只需要使用 gRPC 調用

正如@david_k 在上面的評論中所建議的,連接配置文件中的 URL 用於在識別是grpc還是grpcs (通過 SSL)調用后提取主機和端口號。

驗證:

  1. 部署fabcar示例並安裝節點模塊。
  2. 轉至lib目錄中fabric-common節點模塊中的Endpoint.js文件。 此處編輯與第 44 行相對應的行。
  3. 轉到first-network目錄(fabcar 示例使用的網絡)編輯連接配置文件。 替換與您對節點模塊中的Endpoint.js文件所做的編輯相對應的 peer 和orderer URL 中的grpcs
  4. 返回javascript目錄並獲取錢包身份。
  5. 修改invoke.js以讀取新的連接配置文件。
  6. 執行它可以看到交易提交成功。

因此,我們可以確定只有主機和端口是從 URL 中獲取的,用於對結構網絡進行grpc/grpcs調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM