Wholesale CBDC 部署參考

下列資訊包括 ORDS 命令檔所建立之資料庫物件的描述,以及疑難排解秘訣。

ORDS 命令檔會使用設定的 VIEW_PREFIX 參數建立下列作業視觀表。

<VIEW_PREFIX>_ACCOUNTS_V
<VIEW_PREFIX>_TRANSFER_EVENTS_V
<VIEW_PREFIX>_HOLDS_V
<VIEW_PREFIX>_ACTIVE_ROLES_V
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V
<VIEW_PREFIX>_ACCOUNT_HISTORY_V

如果您選取分析,就會建立下列分析檢視,並將其範圍設定為部署。

<VIEW_PREFIX>_ACCOUNTS_MOD
<VIEW_PREFIX>_TRANSACTION_MOD
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MOD

此命令檔也會使用設定的值,建立或設定 ORDS 模組、路由、綱要別名、角色、權限、OAuth 從屬端以及從屬端角色關聯。

檢視型錄與查詢邏輯

下列視觀表是所選綱要中的一般 Oracle 視觀表;它們不會修改擷取器表格。

檢視 主要來源 目的 / 邏輯
<VIEW_PREFIX>_ACCOUNTS_V _more, _store_state 從 createAccount 呼叫和帳戶 / 權杖狀態建立目前的帳戶目錄。它可解決帳戶、使用者和組織識別、餘額、保留餘額、狀態、每日限制、權杖描述資料,以及建立交易描述資料。
<VIEW_PREFIX>_TRANSFER_EVENTS_V _more 將變數替代字收貨日誌標準化為移轉事件資料列。它會擷取寄件者、接收者、金額、函數、區塊 / 交易描述資料,以及選擇性的 ~OBPRPCTX~.value.category 相關資訊環境。
<VIEW_PREFIX>_HOLDS_V _store_hist, _more, _store_state 重新建構保留薄荷、燒錄與轉移記錄。它會擷取作業 / 保留 ID、帳戶、公證人、金額、到期、變數替代字、類目、描述及最新生命週期狀態。當目前的狀態資料列無法解析時,它也提供後援資料列。
<VIEW_PREFIX>_ACTIVE_ROLES_V _more 套用角色新增 / 移除歷史記錄,並傳回每個帳戶與角色的最新有效角色指派。
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V 上一個作業視觀表 產生面向帳戶的交易歷史記錄資料列,包含移轉兩側與標準化的薄荷 / 消耗 / 保留生命週期結果。它會從 _ACCOUNTS_V 視觀表強化身分識別。
<VIEW_PREFIX>_ACCOUNT_HISTORY_V _more, _ACCOUNTS_V 從帳戶合約變化產生帳戶組態歷史記錄,包含每日限額修訂、時間戳記、鎖房團訂編號及交易 ID。
<VIEW_PREFIX>_ACCOUNTS_MOD (選擇性分析) _ACCOUNTS_V 在與分析相容的帳戶資源配置中顯示帳戶描述資料。
<VIEW_PREFIX>_TRANSACTION_MOD (選擇性分析) _TRANSFER_EVENTS_V, _HOLDS_V, _store_hist 顯示標準化的業務交易,包括移轉、提示、燒錄、要求、保留、核發及產生的餘額 (若有的話)。
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MOD (選擇性分析) _TRANSACTION_MOD, _ACCOUNTS_V 將來源與目的地組織內容新增至分析異動記錄。

ORDS 路由

所有路由都是 <BASE_PATH>/ 底下的 GET 路由,且需要 OAuth Bearer 權杖。ORDS 會傳回集合附加訊息;具有 HTTP 200 的空白 items 陣列表示要求有效,但沒有相符的已編製索引記錄。

路由 使用與回應行為 必要輸入 選擇性輸入與預設行為
getCBDCTransactionById 傳回一筆標準化分類帳 - 交易明細記錄。 token_id 識別 WCBDC 權杖;transaction_id 是要擷取的 Besu 交易雜湊 / 識別碼。 無。沒有相符的交易傳回空白集合。
getCBDCAccountTransactionHistoryWithFilters 傳回其業務識別所識別之帳戶的歷史記錄。 token_id 會識別記號;org_id 會識別組織;user_id 會識別帳戶使用者。 startTime 和 endTime 會限制時間範圍;省略代表沒有時間範圍下限 / 上限。bookmark 是以零為基礎的位移;省略代表 0。pageSize 是要求的資料列數目;省略則使用處理程式預設值。
getAllCBDCAccountTransactionHistoryWithFilters 傳回整個權杖的帳戶交易歷史記錄。 token_id 識別記號。 startTime、endTime、bookmark 及 pageSize 的行為與帳戶特定的歷史記錄路徑相同。
getCBDCAccountStatusHistory 傳回商業帳戶的已編列索引狀態歷史記錄資料列。 token_id、org_id 及 user_id 識別帳戶。 無。沒有相符的帳戶 / 歷史記錄會傳回空白集合。
getApproverActionHistory 傳回 mint/burn 決策和最終傳輸保留動作。執行 executeHold;拒絕 releaseHold。 token_id 會將結果限制為記號。 caller_account_id 是管理者 / 核准者公事包位址。省略以傳回所有動作者的動作;提供只傳回該公事包的動作。它是資料範圍篩選,而非授權。
getTokenHistory 傳回權杖層級歷史記錄與供應相關資訊。 token_id 識別記號。 無。
getCBDCAccountsByRole 傳回與角色相關聯的帳戶。 role 是要比對的角色名稱。 無;結果不是由此路由篩選的記號。
getUsersByRole 傳回角色的使用者 / 帳戶角色指派。 role 是要比對的角色名稱。 無。
getOrgAccountsByRole 傳回一個組織中具有角色的帳戶 org_id 識別組織;role 是角色名稱。 無。
getAllCBDCAccounts 傳回一個權杖的所有已編製索引帳戶。 token_id 識別記號。 無。
getAllActiveCBDCAccounts 傳回目前狀態為有效的已編列索引帳戶。 token_id 識別記號。 無。
getAllSuspendedCBDCAccounts 傳回目前狀態為暫停的已編列索引帳戶。 token_id 識別記號。 無。
getAllOrgAccounts 傳回一個組織中所有已編製索引的帳戶。 org_id 識別組織。 無;結果不是由此路由篩選的記號。
getPendingCBDCIssuance 僅傳回目前暫緩移轉保留作業;不包含終端機、已執行、已拒絕及已核發作業。 token_id 識別記號。 caller_account_id 是公證人 / 管理者公事包。將它省略為整個擱置佇列;提供它只傳回指派給該公事包的保留。
getPendingCBDCRequest 僅傳回目前待處理的 Mint/burn 要求。 token_id 可識別記號;request_type 可選取支援的要求類型,例如 mint 或 burn。 無。已核准或已拒絕的要求會被排除。
getPendingRequest 相同待要求使用案例的相容性遞送。 token_id 和 request_type 的意義與 getPendingCBDCRequest 的意義相同 無。
getCBDCAccountsByUser 傳回一個組織 / 使用者 / 權杖組合的帳戶記錄。 token_id、org_id 及 user_id 可識別帳戶擁有者與權杖。 無。
getCBDCAccountHistory 傳回帳戶組態 / 歷史記錄修訂版本。 account_address 是區塊鏈帳戶 / 公事包位址。 offset 是以零為基礎的資料列偏移量;在第一頁省略。limit 是資料列數目上限;省略以使用 SQL 處理程式預設值。
getCBDCAccountStatus 傳回目前已編列索引的帳戶狀態。 token_id、org_id 及 user_id 識別帳戶。 無。
getRolesByAccount 傳回已解決帳戶的角色。 一律需要 token_id。提供 account_address (區塊鏈帳戶 / 公事包地址),或合併的 org_id 和 user_id 業務查詢。 如果提供 account_address,則為直接帳戶篩選;否則路由會使用 org_id 和 user_id。如果兩個查尋都無法解決帳戶,則回應為空白。
getAllRegisteredOrgs 傳回記號已編製索引之帳戶所代表的組織。 token_id 識別記號。 無。
getCBDCMetadata 傳回已編製索引的不可變權杖描述資料。 token_id 識別記號。 無。
getCBDCRetiredQuantity 傳回變數替代字的處分 / 消耗數量資訊。 token_id 識別記號。 無。

分頁和時戳:對於支援 bookmark 和 pageSize 參數的兩個歷史記錄路由,bookmark 參數是以零為基礎的資料列位移,而 pageSize 參數為駝峰式大小寫。省略任一值以使用處理程式預設值。如果提供 startTime 和 endTime 參數,請使用格式為 YYYY-MM-DDTHH:MI:SS+/-HH:MI 的 ISO-8601 時戳文字。

端點產品目錄:實際的路由產品目錄屬於針對部署封裝的命令檔版本。執行之後,請使用 ORDS OpenAPI 目錄或產生的端點輸出作為從屬端應用程式的授權清單。

疑難排解

訊息或條件 解決方式
NJS-516: no configuration directory set 使用的 TNS 別名沒有可存取的公事包 / 組態目錄。擷取公事包並設定 Oracle 從屬端,讓 tnsnames.ora 檔案可供使用。
NJS-511 或 ORA-12506 監聽器、端點、服務名稱、網路允許清單或公事包組態問題。使用 DBA 驗證命令檔之外的 Oracle 連線。
OAuth 權杖要求傳回 404 驗證 /ords/<ALIAS_NAME>/oauth/token 中的確切別名。別名不一定是 Oracle 使用者名稱。
端點傳回 401 取得全新的權杖並確認 OAuth 從屬端具備與所設定模組基本路徑關聯的角色 / 權限。
端點傳回 404 請檢查主機、別名、基礎路徑、路由名稱,以及模組是否已發布。
ORDS-25001 端點已達 ORDS,但其 SQL 失敗。請驗證表格首碼、合約地址、來源資料形狀及必要要求參數。
ORA-20049: Cannot alter the URL mapping while the schema is enabled 選擇的 ALIAS_NAME 與啟用的綱要對應衝突。重複使用綱要的現有別名,或讓 ORDS 管理員完成核准的停用 / 重新對應 / 啟用程序,再重新執行命令檔。
檢視未包含資料列 確認在建立執行處理時選取了正確的 RTF 歷史記錄設定檔、表格前置碼確實相符、符合已部署代理主機的合約地址,以及已編製交易索引。
物件與其他部署衝突 使用不同的 VIEW_PREFIX、模組名稱、基礎路徑、角色、權限、OAuth 從屬端名稱及別名。