關於串流處理區塊鏈事件

您可以藉由 Oracle Cloud Infrastructure 內的工具和服務協助,安全且可靠地將 Oracle Blockchain Platform 事件通知發佈給多個已認證的訂戶。

區塊鏈中的鏈碼可以使用下列兩種方式之一來發布事件。其中一個是使用 Hyperledger Fabric SDK,另一個則是使用區塊鏈平台 REST API。不過,這兩種方法具有下列限制:

  • Hyperledger Fabric SDK 僅適用於 Java 或 Node.js。
  • 您必須先修正 Hyperledger Fabric SDK,才能將它們與 Oracle Blockchain Platform 搭配使用。
  • 不保證會傳遞事件通知。
  • REST API 的用戶必須在區塊鏈創始執行處理中擁有證明資料。

若要避免這些限制,請使用 Oracle Blockchain Platform REST API 搭配中繼應用程式。轉送應用程式可以是無伺服器功能。它會從區塊鏈收到 JSON 格式的事件有效負載,並將事件有效負載重新格式化為與 Apache Kafka API 相容。轉送應用程式會從 Oracle Vault 取得認證證明資料,然後將事件傳送至「Oracle 串流服務」。然後,多個事件用戶就可以訂閱「Oracle 串流服務」並開始接收他們有權接收的事件。

架構

此圖表顯示如何使用 Oracle Cloud Infrastructure 內的工具和服務,為多個事件用戶設定可靠且安全的區塊鏈事件通知。

以下是事件從區塊鏈平台流向事件用戶的方式:

  1. 區塊鏈中的 Chaincode 會使用事件作為有效負載來呼叫 API 閘道。您可以手動訂閱 API 閘道 URL 以訂閱區塊鏈事件。
  2. API 閘道會將要求傳送至事件轉送應用程式。事件轉送應用程式是您撰寫的應用程式。它會執行下列函數:
    • 重新設定「串流服務 API」的事件格式。
    • 從 Vault 擷取「串流服務」證明資料。
    • 傳送事件至「串流服務 API」。
  3. 「串流服務」可確保將事件傳遞給授權的用戶 App。
architecture-blockchain-event-streaming.png 的描述請參見下方
architecture-blockchain-event-streaming.png 圖解描述

在您開始之前

您需要發出事件的鏈碼應用程式,且您需要一或多個沖銷鏈碼所發出事件的應用程式。如果您沒有現有的區塊化資產,您可以修改 Oracle Blockchain Platform 中包含的其中一個範例。

關於必要的服務和角色

若要實行此「解決方案」,您需要有一個 Oracle Cloud Infrastructure 帳戶。

您的使用者帳戶必須要有足夠的權限,才能夠建立及建置下列服務:

  • Oracle Blockchain Platform

  • Oracle Functions

  • Oracle Cloud Infrastructure 保存庫

  • Oracle Cloud Infrastructure Streaming

  • Oracle Cloud Infrastructure Registry

  • Oracle Cloud Infrastructure 閘道

請參閱一般原則,瞭解存取所需原則的相關資訊。

請參閱瞭解如何取得 Oracle 解決方案的 Oracle Cloud 服務,以取得所需的雲端服務。