關於串流處理區塊鏈事件
區塊鏈中的鏈碼可以使用下列兩種方式之一來發布事件。其中一個是使用 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 內的工具和服務,為多個事件用戶設定可靠且安全的區塊鏈事件通知。
以下是事件從區塊鏈平台流向事件用戶的方式:
- 區塊鏈中的 Chaincode 會使用事件作為有效負載來呼叫 API 閘道。您可以手動訂閱 API 閘道 URL 以訂閱區塊鏈事件。
- API 閘道會將要求傳送至事件轉送應用程式。事件轉送應用程式是您撰寫的應用程式。它會執行下列函數:
- 重新設定「串流服務 API」的事件格式。
- 從 Vault 擷取「串流服務」證明資料。
- 傳送事件至「串流服務 API」。
- 「串流服務」可確保將事件傳遞給授權的用戶 App。

architecture-blockchain-event-streaming.png 圖解描述
在您開始之前
關於必要的服務和角色
若要實行此「解決方案」,您需要有一個 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 服務,以取得所需的雲端服務。