執行批發 CBDC 應用程式的 ORDS 指令碼
建立執行處理並部署應用程式之後,即可執行 ORDS 命令檔。
您必須符合以下先決條件:
- Node.js 版本 20.19 或更新版本、22.13 或更新版本,或 23.5 或更新版本。
- 您必須要有可從服務主控台下載的 ORDS 命令檔
.zip檔案。
請勿將生產環境加密密碼放在來源控制中。將資料庫密碼、公事包檔案、OAuth 從屬端加密密碼和 Bearer 權杖儲存在核准的加密密碼管理系統中。指令碼的已確認 .env 檔案僅為預留位置範本。
- 將 ORDS 命令檔
.zip檔案擷取至工作目錄。 - 在
ORDSscript目錄中開啟終端機。 - 請執行下列命令,以確認系統上支援的 Node.js 版本。
node --version npm install - 取代所提供樣板中的預留位置值,以設定
.env檔案。請勿將資料庫密碼新增至此檔案;命令行介面會以互動方式提示他們。# Common ORDS configuration CONNECTION_STRING="<Oracle connection string or TNS service alias>" VIEW_PREFIX="<unique deployment namespace>" MODULE_NAME="<unique ORDS module name>" BASE_PATH="<unique/ords/base/path/>" ITEMS_PER_PAGE="100" ORDS_REST_BASE_URL="https://<ords-host>" ALIAS_NAME="<REST-enabled schema alias>" ROLE_NAME="<unique ORDS role>" PRIVILEGE_NAME="<unique ORDS privilege>" LABEL="<privilege label>" DESCRIPTION="<deployment description>" CLIENT_NAME="<OAuth client name>" OWNER="<OAuth client owner>" SUPPORT_EMAIL="<support email>" # Besu WCBDC configuration BESU_TABLE_PREFIX="<exact prefix before _more, _store_state and _store_hist>" BESU_TOKEN_CONTRACT="0x<deployed WCBDC token proxy address>" BESU_ACCOUNT_CONTRACT="0x<deployed Account proxy address>"CONNECTION_STRING- 如果
CONNECTION_STRING參數是 TNS 別名,請擷取公事包並設定 Oracle 從屬端環境,以便找到tnsnames.ora檔案。僅壓縮的公事包.zip檔案不足。 ALIAS_NAME- 公用 ORDS URL 和權杖 URL 中使用的啟用 REST 的 Oracle 綱要別名。
BESU_ACCOUNT_CONTRACT- 部署的帳戶代理主機合約位址。
BESU_TABLE_PREFIX- 完全豐富的歷史記錄表格前置碼;它會決定來源
_more、_store_state和_store_hist表格。 BESU_TOKEN_CONTRACT- 已部署批發 CBDC 權杖代理主機合約位址。
MODULE_NAME和BASE_PATH- 這些參數定義 ORDS 模組識別和 URL 路徑。同時保留特定部署和唯一的部署。
PATTERN, CHAINCODE_NAME, INSTANCE_NAME, CHANNEL_NAME- 這些參數僅用於批發 CBDC 應用程式的 Hyperledger Fabric 版本。他們不適用於 Besu 版本。
VIEW_PREFIX- 作業和選擇性分析檢視的唯一命名空間。對於共用 Oracle 綱要的每個部署,請使用不同的前置碼。
- 輸入下列命令來執行命令檔。
npm run start- 輸入 Oracle 資料庫的使用者名稱和密碼。
- 選擇 Besu 作為區塊鏈平台。
- 選取 WCBDC 作為應用程式類型。
- 如果先前的執行未完成,請先複查倒回提示,再選擇回復物件。
- 選取是以建立 ORDS REST 端點。
- 只有在部署需要分析輸出時,才選取分析檢視。
- 選取是,以在需要此部署的新用戶端時產生 OAuth 用戶端。
- 如果您選取端點並建立 OAuth,請將產生的輸出保留在核准的加密密碼存放區中。輸出包含可呼叫端點對應、OAuth 從屬端 ID、OAuth 從屬端加密密碼,以及短期存留的 Bearer 權杖回應。請勿將從屬端加密密碼或 Bearer 權杖複製到不支援核准加密密碼處理的任何來源控制系統、檔案、Wiki 或專案管理軟體。下列文字顯示範例輸出。
{ "ORDSEndpoint": "<generated endpoint URL or endpoint map>", "clientId": "<OAuth client ID>", "clientSecret": "<OAuth client secret>", "bearerToken": { "access_token": "<short-lived access token>", "token_type": "bearer", "expires_in": 3600 } } - 如果您選取產生 OAuth 從屬端,請將報告的從屬端 ID 和從屬端加密密碼保留在核准的加密密碼存放區中,然後使用它們呼叫端點來驗證系統功能。下列文字顯示權杖要求的形式
端點 URL 使用下列格式。curl --request POST \ "https://<ords-host>/ords/<ALIAS_NAME>/oauth/token" \ --user "<client-id>:<client-secret>" \ --header "Content-Type: application/x-www-form-urlencoded" \ --data "grant_type=client_credentials"https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/<route>下列命令顯示驗證測試範例。curl --location \ "https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/getAllCBDCAccounts?token_id=<TOKEN_ID>" \ --header "Authorization: Bearer <access-token>" \ --header "Accept: application/json" - 請執行下列檢查來驗證命令檔是否順利執行。
- Blockchain Platform Manager 設定檔
- Oracle AI Database 豐富歷史記錄設定檔已存在,且已為執行處理選取。
- 豐富的歷史記錄表格
- 設定的
BESU_TABLE_PREFIX會解析為_more, _store_state, and _store_hist表格。 - 已編列索引資料
- 豐富歷史記錄資料中至少會顯示一個代表批發 CBDC 交易。
- 檢視
- 所有作業視觀表都存在於設定的
VIEW_PREFIX下。 - ORDS 模組
- 設定的模組會在預期的
BASE_PATH發布。 - OAuth
- 從屬端證明資料要求傳回存取權杖。
- API
- 有效的認證要求會傳回 HTTP 200。沒有相符的分類帳資料時,可接受空白的
items清單。 - 隔離
- 檢視、模組、角色、權限、從屬端及別名在共用一個 Oracle 資料庫的建置中是唯一的。
SELECT view_name FROM user_views WHERE view_name LIKE UPPER('<VIEW_PREFIX>') || '_%' ORDER BY view_name; SELECT name, uri_prefix, items_per_page, status FROM user_ords_modules WHERE name = '<MODULE_NAME>';