執行存款權杖應用程式的 ORDS 指令碼

建立執行處理並部署應用程式之後,即可執行 ORDS 命令檔。

您必須符合以下先決條件:
  • Node.js 版本 20.19 或更新版本、22.13 或更新版本,或 23.5 或更新版本。
  • 您必須要有可從服務主控台下載的 ORDS 命令檔 .zip 檔案。

請勿將生產環境加密密碼放在來源控制中。將資料庫密碼、公事包檔案、OAuth 從屬端加密密碼和 Bearer 權杖儲存在核准的加密密碼管理系統中。指令碼的已確認 .env 檔案僅為預留位置範本。

  1. 將 ORDS 命令檔 .zip 檔案擷取至工作目錄。
  2. 在 ORDSscript 目錄中開啟終端機。
  3. 請執行下列命令,以確認系統上支援的 Node.js 版本。
    node --version
    npm install
  4. 取代所提供樣板中的預留位置值,以設定 .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 Deposit Token configuration
    BESU_TABLE_PREFIX="<exact prefix before _more, _store_state and _store_hist>"
    BESU_TOKEN_CONTRACT="0x<deployed Deposit Token token proxy address>"
    BESU_ACCOUNT_CONTRACT="0x<deployed Account proxy address>"
    
    CONNECTION_STRING
    如果 CONNECTION_STRING 參數是 TNS 別名,請擷取公事包並設定 Oracle 從屬端環境,以便找到 tnsnames.ora 檔案。僅壓縮的公事包 .zip 檔案不足。
    VIEW_PREFIX
    作業和選擇性分析檢視的唯一命名空間。對於共用 Oracle 綱要的每個部署,請使用不同的前置碼。
    MODULE_NAME 和 BASE_PATH
    這些參數定義 ORDS 模組識別和 URL 路徑。同時保留特定部署和唯一的部署。
    ALIAS_NAME
    公用 ORDS URL 和權杖 URL 中使用的啟用 REST 的 Oracle 綱要別名。
    BESU_TABLE_PREFIX
    完全豐富的歷史記錄表格前置碼;它會決定來源 _more、_store_state 和 _store_hist 表格。
    BESU_TOKEN_CONTRACT
    已部署存款權杖代理主機合約地址。
    BESU_ACCOUNT_CONTRACT
    部署的帳戶代理主機合約位址。
  5. 輸入下列命令來執行命令檔。
    npm run start
    1. 輸入 Oracle 資料庫的使用者名稱和密碼。
    2. 選擇 Besu 作為區塊鏈平台。
    3. 選取保證金權杖作為應用程式類型。
    4. 如果先前的執行未完成,請先複查倒回提示,再選擇回復物件。
    5. 選取是以建立 ORDS REST 端點。
    6. 只有在部署需要分析輸出時,才選取分析檢視。
    7. 選取是,以在需要此部署的新用戶端時產生 OAuth 用戶端。
  6. 如果您選取端點並建立 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
      }
    }
  7. 如果您選取產生 OAuth 從屬端,請將報告的從屬端 ID 和從屬端加密密碼保留在核准的加密密碼存放區中,然後使用它們呼叫端點來驗證系統功能。下列文字顯示權杖要求的形式
    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"
    端點 URL 使用下列格式。
    https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/<route>
    下列命令顯示驗證測試範例。
    curl --location \
      "https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/getAllDepositTokenAccounts?token_id=<TOKEN_ID>" \
      --header "Authorization: Bearer <access-token>" \
      --header "Accept: application/json"
  8. 請執行下列檢查來驗證命令檔是否順利執行。
    Blockchain Platform Manager 設定檔
    Oracle AI Database 豐富歷史記錄設定檔已存在,且已為執行處理選取。
    豐富的歷史記錄表格
    設定的 BESU_TABLE_PREFIX 會解析為 _more, _store_state, and _store_hist 表格。
    已編列索引資料
    豐富歷史記錄資料中至少顯示一個代表存款變數替代字交易。
    檢視
    所有作業視觀表都存在於設定的 VIEW_PREFIX 下。
    ORDS 模組
    設定的模組會在預期的 BASE_PATH 發布。
    OAuth
    從屬端證明資料要求傳回存取權杖。
    API
    有效的認證要求會傳回 HTTP 200。沒有相符的分類帳資料時,可接受空白的 items 清單。
    隔離
    檢視、模組、角色、權限、從屬端及別名在共用一個 Oracle 資料庫的建置中是唯一的。
    下列 SQL 查詢可用於驗證。
    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>';