批发 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

如果选择“Analytics(分析)”,将创建以下分析视图,并限定为部署。

<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 持有人令牌。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/消耗决策和最终转移暂挂操作。将执行 executeHold;拒绝 releaseHold。 token_id 将结果限制为标记。 caller_account_id 是经理/审批人 wallet 地址。省略它以返回所有操作者的操作;提供它以仅返回该 wallet 的操作。它是一个数据范围筛选器,而不是授权。
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 是公证人/经理 wallet。为整个待处理队列省略它;提供它以仅返回分配给该 wallet 的暂挂。
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 别名没有可访问的 wallet/configuration 目录。提取 wallet 并配置 Oracle 客户机,以便 tnsnames.ora 文件可用。
NJS-511 或 ORA-12506 监听程序、端点、服务名称、网络允许列表或 wallet 配置问题。验证与 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 管理员在再次运行脚本之前完成批准的禁用/重新映射/启用过程。
视图不包含行 确认在实例创建期间选择了正确的多信息历史记录概要信息,表前缀完全正确,合同地址与部署的代理匹配,并且已为事务处理编制索引。
对象与其他部署冲突 使用不同的 VIEW_PREFIX、模块名称、基本路径、角色、权限、OAuth 客户端名称和别名。