- Oracle Blockchain Platform Digital Assets Edition
- 批发中央银行数字货币应用程序
- 面向批发 CBDC 的 Oracle Database View 定义
面向批发 CBDC 的 Oracle Database View 定义
您可以使用丰富的历史记录数据库检索账户事务处理历史记录,并在同一块中发生的多个事务处理中解决不正确的余额。
您可以使用
GetAccountTransactionHistoryWithFiltersFromRichHistDB
API 从富历史记录数据库提取账户事务处理历史记录。将 custom_endpoint
和 bearer_token
参数传递到方法时,将从富历史记录数据库或状态数据库中检索帐户事务处理历史记录。
要从富历史记录数据库检索事务处理历史记录,必须运行启用了 Oracle REST Data Services (ORDS) 和 OAuth 的 Oracle Autonomous Database。
- 启用和配置富历史记录数据库。有关更多信息,请参阅使用 Oracle Blockchain Platform 中的启用和配置富历史记录数据库。
- 对包含要写入富历史记录数据库的链代码数据的渠道启用富历史记录。有关更多信息,请参见 Configure the Channels that Write Data to the Rich History Database in Using Oracle Blockchain Platform。
- 下载并安装 Node.js 版本 18 或更高版本。
- 在 Oracle Blockchain Platform 的 Digital Assets 页面上,选择 Wholesale CBDC Application 。
- 单击下载 Database View Definitions 程序包。
- 提取
WholesaleCBDCViewsPackage.zip
文件。 - 导航到
ORDSscript
文件夹并通过运行以下命令安装所需的相关项。npm install
- 编辑脚本随附的
.env
文件,以便为您的环境配置该文件。Oracle REST Data Services 端点使用以下常规格式。<base_URL>/<user_name>/<resource_link>
环境/配置类型 环境/配置变量 说明 范例 DB Connection
CONNECTION_STRING
数据库的连接字符串。 CONNECTION_STRING="(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522) (host=adg.ap-sydney-1.example.com))(connect_data= (service_name=g536390e55ee33f4_db_high.adg.example.com))(security=(ssl_server_dn_match=yes)))"
View Configuration
VIEW_NAME
用于显示账户事务处理详细信息的视图的名称。这可以是与数据库中的现有资产不冲突的任何值。 VIEW_NAME="viewTest"
View Configuration
CHAINCODE_NAME
从富历史记录数据库中提取事务处理详细信息的链代码的名称。 CHAINCODE_NAME="BondMarketplace"
View Configuration
INSTANCE_NAME
部署链代码的实例的名称。 INSTANCE_NAME="BondMarketplace"
View Configuration
CHANNEL_NAME
部署链代码的渠道的名称。 CHANNEL_NAME="default"
ORDS Endpoint Setup
MODULE_NAME
要使用的 ORDS 模块的名称。这可以是与数据库中的现有资产不冲突的任何值。 MODULE_NAME="demotest"
ORDS Endpoint Setup
BASE_PATH
ORDS URL 的基本路径。这可以是与数据库中的现有资产不冲突的任何值。 BASE_PATH="demotest"
ORDS Endpoint Setup
PATTERN
ORDS URL 的模式名称。这可以是与数据库中的现有资产不冲突的任何值。 PATTERN="accountTransactionDetails"
ORDS Endpoint Setup
ITEMS_PER_PAGE
ORDS 查询结果中每页显示的项数。这可以是与数据库中的现有资产不冲突的任何值。 ITEMS_PER_PAGE=120
ORDS REST Endpoint
ORDS_REST_BASE_URL
数据库的 ORDS REST 端点的基本 URL。 ORDS_REST_BASE_URL="https://g536390e55ee33f4_db_high.adg.ap-sydney-1.example.com"
Alias Configuration
ALIAS_NAME
要在 REST 端点 URL 中代替用户名使用的别名。这可以是与数据库中的现有资产不冲突的任何值。 ALIAS_NAME="demotestAlias"
ORDS Role
ROLE_NAME
分配给用户的 ORDS 角色。这可以是与数据库中的现有资产不冲突的任何值。 ROLE_NAME="demotest_role"
ORDS Privilege
PRIVILEGE_NAME
分配给用户的 ORDS 权限。这可以是与数据库中的现有资产不冲突的任何值。 PRIVILEGE_NAME="demotest_priv"
ORDS Privilege
LABEL
ORDS 特权的标签。这可以是与数据库中的现有资产不冲突的任何值。 LABEL="demotest_label"
ORDS Privilege
DESCRIPTION
ORDS 权限的说明。这可以是与数据库中的现有资产不冲突的任何值。 DESCRIPTION="demotest_description"
OAuth Configuration
CLIENT_NAME
用于对 ORDS REST 端点进行 OAuth 验证的客户端名称。这可以是与数据库中的现有资产不冲突的任何值。 CLIENT_NAME="demotest_client"
OAuth Configuration
OWNER
用于对 ORDS REST 端点进行 OAuth 验证的所有者名称。这可以是与数据库中的现有资产不冲突的任何值。 OWNER="demotest"
OAuth Configuration
DESCRIPTION
OAuth 配置的说明。这可以是与数据库中的现有资产不冲突的任何值。 DESCRIPTION="demotest_description"
OAuth Configuration
SUPPORT_EMAIL
OAuth 配置的支持电子邮件地址。这可以是与数据库中的现有资产不冲突的任何值。 SUPPORT_EMAIL="test@example.com"
软件代码中包括分析视图名称。帐户视图为
ACCOUNTS_MOD
。事务处理视图为TRANSACTION_MOD
。帐户交易视图为ACCOUNTS_TRANSACTION_MOD
。 - 使用以下命令运行 ORDS 脚本。
npm run start --username='<username>' --password='<password>'
在此示例中,
<username>
和<password>
是富历史记录数据库的身份证明,这些数据库必须具有创建视图和 ORDS 端点所需的权限。由于bash
接口中的限制,用户名和密码必须用单引号 (') 括起来。
您可能会看到以下错误。
Error: ORA-20049: Cannot alter the URL mapping while the schema is enabled. Try disabling the schema first.
出现此错误的原因是数据库方案已启用,因此无法映射到 .env
文件中指定的其他别名。
要解决此行为,请完成以下步骤。
- 使用之前使用的相同别名,或检查数据库中的 REST 服务是否具有方案别名。
- 禁用数据库方案并再次运行脚本。有关更多信息,请参见Oracle REST Data Services (ORDS):Using SQL Developer 。