設定 Oracle Blockchain Platform for Wholesale CBDC 範例應用程式

建立 Oracle Blockchain Platform 的所有必要執行處理及其先決條件產品之後,您必須設定使用者和角色、將任何參與者組織新增至創始組織,以及啟用豐富的歷史記錄資料庫。

設定 Oracle Blockchain Platform 執行處理的 IDCS 群組

如需有關內建 Oracle Blockchain Platform 角色以及如何指派使用者的其他資訊,請參閱設定使用者和應用程式角色

如需批發 CBDC 範例應用程式角色的其他資訊,請參閱批發 CBDC 應用程式工作流程

在 Oracle Blockchain Platform 中,應導入下列應用程式角色指派:

  • 中央銀行 (CB) 群組:將所有中央銀行群組指派給 CentralBank Oracle Blockchain Platform 執行處理的 REST_CLIENT 應用程式角色。
  • 金融機構 (FI) 群組:將所有金融機構群組指派給 REST_CLIENT 應用程式角色及其個別組織。
  • 管理角色:將相關的管理群組 (例如 CB_CBDC_ADMINFI_CBDC_ADMINS) 指派給其個別組織的 ADMIN 應用程式角色。

此組態可確保「中央銀行」與「金融機構」群組具有透過 REST_CLIENT 角色的必要存取權,而管理權限則透過 ADMIN 角色適當管理。

請依照下列步驟將群組指派給應用程式角色。

  1. 登入您的 Oracle Cloud Infrastructure 帳戶。
  2. 在主控台中,按一下左上角的導覽功能表。
  3. 識別下,選取網域
  4. 在「網域」頁面上,按一下 Oracle Identity Cloud Service
  5. 在 Oracle Identity Cloud Service 導覽功能表中,選取 Oracle Cloud Services 。尋找要指定群組角色的 Oracle Blockchain Platform 執行處理。開啟該執行處理的「詳細資訊」頁面。
  6. 移至「應用程式角色」頁籤,檢視「資源」導覽器中所列的 Oracle Identity Cloud Service 應用程式角色。
  7. 選取您要指派的角色,並展開角色。按一下角色的「其他」功能表,然後選取指派群組
  8. 在「指定群組」對話方塊中,選取您要指派給角色的群組,然後按一下指定

擷取 ClientIdClientSecret

Oracle Blockchain Platform ClientIDClientSecret 將由 Visual Builder 使用。您稍後必須更新 Visual Builder 中的這些參數,如設定 Visual Builder 後端中所述。

擷取 Oracle Blockchain Platform 執行處理的從屬端 ID 和從屬端加密密碼:

  1. 登入您的 Oracle Cloud Infrastructure 帳戶。確定您具有管理 OAuth 設定值的足夠管理權限。
  2. 在主控台中,按一下左上角的導覽功能表。
  3. 識別下,選取網域
  4. 在「網域」頁面上,按一下 Oracle Identity Cloud Service
  5. 在 Oracle Identity Cloud Service 導覽功能表中,選取 Oracle Cloud Services 。尋找要擷取從屬端 ID 和從屬端加密密碼的 Oracle Blockchain Platform 執行處理。開啟該執行處理的「詳細資訊」頁面。
  6. 當您開啟執行處理詳細資訊頁面時,顯示的預設頁籤將會是 OAuth 組態頁籤。此頁籤包含有關 Oracle Blockchain Platform 執行處理之 OAuth 設定的重要資訊。

    您會在「一般資訊」區段中找到標示為「從屬端 ID」和「從屬端密碼」的欄位。這些證明資料主要用來認證對 Oracle Blockchain Platform 的 API 要求。

多重組織組態

如果您正在與多個組織建立複雜的 Oracle Blockchain Platform 網路,請將參與者新增至創始人。Oracle Blockchain Platform 管理手冊提供此程序的簡介:新增 OBCS 參與者組織至網路

設定 Oracle Blockchain Platform 的豐富歷史記錄資料庫

如需有關設定和使用 Rich History 資料庫的其他資訊,請參閱建立 Rich History 資料庫

完成這些步驟之前,您必須先建立 Autonomous Database 執行處理 (如佈建 Autonomous Database 中所述),才能啟用 Oracle Blochain Platform 的豐富歷史記錄資料庫。

  1. 開啟網路執行處理的 Oracle Blockchain Platform 主控台。
  2. 按一下右上角的其他動作功能表,然後選取設定 Rich History
  3. 提供存取和寫入 Oracle 資料庫的連線字串和證明資料,以指定 Oracle 資料庫連線。請注意,您提供的證明資料是資料庫的證明資料,而 Oracle Blockchain Platform 則不會管理這些證明資料。
  4. 按一下儲存以設定 Rich History 資料庫。

建立登記

您必須手動為 CB_CBDC_ADMINSFI_CBDC_ADMINS 群組中的使用者建立註冊。

註冊 Oracle Blockchain Platform 的 REST 代理主機可為使用者提供一個機制,讓使用者無須註冊憑證即可與區塊鏈互動,透過將應用程式識別對應至區塊鏈成員來簡化 API 呼叫。若要起始對鏈碼的任何呼叫,必須在 Oracle Blockchain Platform 中建立註冊。

批發 CBDC 應用程式會管理在帳戶設定期間為使用者建立註冊;不過,CBDC 管理使用者第一次登入時不會有註冊存在。因此,如果此使用者嘗試建立帳戶,RestProxy 呼叫將會失敗。因此,建立 CBDC ADMIN 群組的註冊是相當重要的。

設定帳戶時,會為個別組織建立註冊。例如,建立中央銀行 (CB) 帳戶時,會產生對應的註冊。不過,若透過「CBDC 管理」頁面建立任何「金融機構 (FI)」帳戶,則不會自動為這些金融機構建立註冊。在此批發 CBDC 工作流程中,必須在「CB 管理」頁面中設定 FI 管理帳戶。因此,使用者必須手動建立「FI 管理」群組的註冊,因為「中央銀行」與「金融機構」間的不同組織結構不會自動產生這些註冊。

如需有關如何建立登記的完整資訊,請參考新增登記至 REST 代理

擷取 RestproxyId

RestproxyId 將由 Visual Builder 使用。您稍後必須如設定 Visual Builder 後端所述在 Visual Builder 中更新此資訊。

若要擷取 Oracle Blockchain Platform 執行處理的 RestProxyId,使用者必須使用管理使用者帳戶呼叫 Oracle Blockchain Platform 主控台 API。可以透過基本認證或 OAuth 2.0 來執行認證。

認證方法

對於 OAuth 2.0,請參閱位於 OAuth 2.0 Access Token Based Authentication 的文件,以實作必要的認證流程。

用於擷取 RestProxyId 的 API 端點

使用 Oracle Blockchain Platform 主控台 API 傳送要求至下列端點,以取得 RestProxyId

GET <obp_url>/console/admin/api/v2/nodes

此 API 呼叫將會傳回包含執行處理中所設定 REST 代理主機相關詳細資訊的回應。

如需有關主控台 API 的詳細資訊,請參閱下列文件:取得節點清單

回應詳細資訊

在回應中,找出標示為 RESTProxies 的區段,您可以在其中找到對應的 RestProxyId。回應的結構將包含與每個 REST 代理主機節點相關聯的各種屬性。

"RESTProxies": [
        {
            "status": "up",
            "extInfo": [],
            "displayName": "restproxy",
            "RESTProxyId": "48021a2c-e62b-40bd-b7ca-71dda883521d-restproxy",
            "url": "https://fibank3-oabcs1-hyd.blockchain.ocp.oraclecloud.com:7443/restproxy",
            "mspId": "FIBank3"
        }
    ]

部署批發 CBDC 範例應用程式的 Chaincode

您現在可以建立通道並將範例應用程式鏈碼部署到該通道。

  1. 建立管道。
    1. 根據您的組織需求,定義具有必要參與者的新管道。
    2. 在通道建立處理作業期間,請確定已選取啟用 Rich History 。此選項會啟用先前設定的 Rich History 功能。
  2. 部署鏈碼。
    將批發 CBDC 鏈碼套件中提供的批發 CBDC 鏈碼部署至新建立的通路。如需如何部署鏈碼的詳細資訊,請參考部署鏈碼的典型工作流程
  3. 使用批發 CBDC 鏈碼套件中提供的批發 CBDC Postman 集合來呼叫 init API。此步驟會完成初始化處理作業,以確保鏈碼可以開始使用。
  4. 檢查複寫狀態。
    1. 移至通道頁籤。
    2. 尋找通道,然後按一下通道項目右邊的其他動作功能表。
    3. 選取正確的歷史記錄狀態以檢視複製狀態。
      • 如果狀態為 REPLICATING,則表示通道資料正在主動複製到 Rich History 資料庫。
      • 如果複製狀態為 USER_DISABLED,請執行下列動作:
        1. 重新啟動對等節點:重新啟動與通道關聯的對等節點。
        2. 呼叫交易:觸發通道上的任何交易以起始資料複製。
        3. 重新檢查複寫狀態,確認資料現在正在複寫至豐富的歷史記錄資料庫。
請注意通道名稱和鏈碼名稱 - 您必須使用這些名稱設定 Visual Builder,才能使用範例應用程式。

建立豐富歷史記錄資料庫視觀表

為您的 Oracle Blockchain Platform 執行處理建立豐富的歷史記錄資料庫之後,您可以執行「資料庫檢視建立」命令檔,在豐富的歷史記錄資料庫中建立視觀表並產生 ORDS 端點。

Oracle REST Data Services (ORDS) 命令檔是以 TypeScript 撰寫的 Node.js 應用程式,旨在顯示 ORDS 端點,以從 Rich History 資料庫擷取帳戶交易詳細資訊。它會建立 RESTful 端點,讓使用者能夠從 RTF 歷史記錄資料庫擷取鏈碼交易資料 (TypeScript 和 Go 鏈碼)。此外,它還提供必要的證明資料 (例如 ORDS 端點、clientIdclientSecret 以及 Bearer 權杖) 以認證及存取端點。
  1. 下載「資料庫檢視建立」命令檔。
    1. 開啟 Oracle Blockchain Platform 主控台。
    2. 移至「數位資產」頁籤。
    3. 在左側側邊欄中,移至批發 CBDC 應用程式。
    4. Oracle Database View Definitions for WholesaleCBDC 區域下載命令檔。
  2. 下載命令檔之後,請參考 Oracle Database View Definitions for Wholesale CBDC 瞭解如何執行命令檔的詳細資訊。
    執行指令碼時,系統會提示您輸入問題:選取 TypeScript (TS) 作為語言,因為批發 CBDC 鏈碼是以 TypeScript 撰寫。
  3. 此命令檔會傳回 ORDS 端點、從屬端 ID 以及從屬端加密密碼。
    {
      ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
      clientId: '<clientId>',
      clientSecret: '<clientSecret>',
      bearerToken: {
        access_token: '<BearerToken>',
        token_type: 'bearer',
        expires_in: 3600
      }
    }
存取 RESTful 服務的 ORDS 端點會遵循此結構:
ORDS_REST_BASE_URL/ords/ALIAS_NAME/BASE_PATH/PATTERN
  • ORDS_REST_BASE_URL:ORDS 服務的基礎 URL。
  • ALIAS_NAME:ORDS 中設定的資料庫或綱要別名。
  • BASE_PATH:RESTful 服務的基本路徑。
  • 專利:RESTful 服務的特定端點樣式。
若要產生用於認證的 Bearer 權杖,請使用 OAuth2 權杖端點:
ORDS_REST_BASE_URL/ords/ALIAS_NAME/oauth/token
下列與 ORDS 相關的參數必須在 Visual Builder 的後端更新,以從 Rich History 資料庫擷取資料。稍後將在設定 Visual Builder 後端中完成。
  • clientId
  • clientSecret
  • ORDS 端點
  • OAuth 基礎 URL:ORDS_REST_BASE_URL/ords/<userName|aliasName>