Definiciones de vista de Oracle Database para CBDC mayorista

Puede utilizar la base de datos de historial enriquecida para recuperar el historial de transacciones de la cuenta y resolver saldos incorrectos en varias transacciones que se producen en el mismo bloque.

Puede utilizar la API GetAccountTransactionHistoryWithFiltersFromRichHistDB para recuperar el historial de transacciones de la cuenta de la base de datos de historial enriquecida. Al transferir los parámetros custom_endpoint y bearer_token al método, el historial de transacciones de cuenta se recupera de la base de datos de historial enriquecida o de la base de datos de estado.
Para recuperar el historial de transacciones de la base de datos de historial enriquecido, debe ejecutar Oracle Autonomous Database con Oracle REST Data Services (ORDS) y OAuth activados.
  1. Active y configure la base de datos de historial enriquecido.
    Para obtener más información, consulte Activación y configuración de la base de datos de historial enriquecido en Uso de Oracle Blockchain Platform.
  2. Active el historial enriquecido en los canales que contienen los datos de código de cadenas que desea escribir en la base de datos de historial enriquecida. Para obtener más información, consulte Configuración de los canales que escriben datos en la base de datos de historial enriquecida en Uso de Oracle Blockchain Platform.
  3. Descargue e instale Node.js versión 18 o posterior.
  4. En la página Activos digitales de Oracle Blockchain Platform, seleccione Aplicación CBDC al por mayor.
  5. Haga clic en Descargar el paquete de definiciones de vista de base de datos.
  6. Extraiga el archivo WholesaleCBDCViewsPackage.zip.
  7. Navegue hasta la carpeta ORDSscript e instale las dependencias necesarias ejecutando el siguiente comando.
    npm install
  8. Edite el archivo .env que se proporciona con el script para configurarlo para su entorno.
    Los puntos finales de Oracle REST Data Services utilizan el siguiente formato general.
    <base_URL>/<user_name>/<resource_link>
    Entorno/Tipo de configuración Variables de entorno/configuración Descripción Ejemplo
    DB Connection CONNECTION_STRING Cadena de conexión para la base de datos.
    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 Nombre de la vista para mostrar los detalles de transacción de cuenta. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. VIEW_NAME="viewTest"
    View Configuration CHAINCODE_NAME Nombre del código de cadenas del que se van a recuperar los detalles de transacción en la base de datos de historial enriquecida. CHAINCODE_NAME="BondMarketplace"
    View Configuration INSTANCE_NAME Nombre de la instancia en la que se despliega el código de cadenas. INSTANCE_NAME="BondMarketplace"
    View Configuration CHANNEL_NAME Nombre del canal en el que se despliega el código de cadenas. CHANNEL_NAME="default"
    ORDS Endpoint Setup MODULE_NAME Nombre del módulo ORDS que se va a utilizar. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. MODULE_NAME="demotest"
    ORDS Endpoint Setup BASE_PATH Ruta de acceso base de la URL de ORDS. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. BASE_PATH="demotest"
    ORDS Endpoint Setup PATTERN Nombre de patrón de la URL de ORDS. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. PATTERN="accountTransactionDetails"
    ORDS Endpoint Setup ITEMS_PER_PAGE Número de elementos que se mostrarán por página en los resultados de consulta de ORDS. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. ITEMS_PER_PAGE=120
    ORDS REST Endpoint ORDS_REST_BASE_URL URL base del punto final REST de ORDS de la base de datos. ORDS_REST_BASE_URL="https://g536390e55ee33f4_db_high.adg.ap-sydney-1.example.com"
    Alias Configuration ALIAS_NAME Alias que se utilizará en lugar de un nombre de usuario en la URL de punto final de REST. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. ALIAS_NAME="demotestAlias"
    ORDS Role ROLE_NAME El rol ORDS que se asigna al usuario. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. ROLE_NAME="demotest_role"
    ORDS Privilege PRIVILEGE_NAME Privilegio ORDS asignado al usuario. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. PRIVILEGE_NAME="demotest_priv"
    ORDS Privilege LABEL Etiqueta para el privilegio ORDS. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. LABEL="demotest_label"
    ORDS Privilege DESCRIPTION Descripción del privilegio ORDS. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. DESCRIPTION="demotest_description"
    OAuth Configuration CLIENT_NAME Nombre de cliente que se utilizará para la autenticación OAuth con el punto final de REST de ORDS. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. CLIENT_NAME="demotest_client"
    OAuth Configuration OWNER Nombre del propietario que se utilizará para la autenticación OAuth con el punto final de REST de ORDS. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. OWNER="demotest"
    OAuth Configuration DESCRIPTION Descripción de la configuración de OAuth. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. DESCRIPTION="demotest_description"
    OAuth Configuration SUPPORT_EMAIL Dirección de correo electrónico de soporte para la configuración de OAuth. Puede ser cualquier valor que no entre en conflicto con los activos existentes en la base de datos. SUPPORT_EMAIL="test@example.com"

    Los nombres de vista de análisis se incluyen en el código de software. La vista de cuentas es ACCOUNTS_MOD. La vista de transacción es TRANSACTION_MOD. La vista de transacción de cuentas es ACCOUNTS_TRANSACTION_MOD.

  9. Ejecute el script ORDS con el siguiente comando.
    npm run start --username='<username>' --password='<password>'

    En este ejemplo, <username> y <password> son las credenciales para la base de datos de historial enriquecida, que debe tener los permisos necesarios para crear la vista y el punto final de ORDS. El nombre de usuario y la contraseña se deben incluir entre comillas simples (') debido a las limitaciones de la interfaz bash.

    Cuando se ejecuta el comando, se muestran los siguientes indicadores.
    Do you want to create the View and ORDS Endpoint? (y/n)
    Introduzca y para crear la vista y el punto final. Introduzca n si ya ha creado la vista y el punto final.
    Please select the language of your chaincode? (TS/GO)
    Si ha introducido y anteriormente, introduzca TS para TypeScript o GO para GO.
    Do you want to generate ORDS Endpoint URL and Bearer Token? (y/n)
    Introduzca y para generar las credenciales de punto final. De lo contrario, introduzca n.
Es posible que vea el siguiente error.
Error: ORA-20049: Cannot alter the URL mapping while the schema is enabled. Try disabling the schema first.
Este error se produce porque el esquema de base de datos está activado y, por lo tanto, no se puede asignar al alias diferente especificado en el archivo .env.
Para evitar este comportamiento, complete los pasos siguientes.
  1. Utilice el mismo nombre de alias utilizado anteriormente o compruebe los servicios REST de la base de datos para el alias de esquema.
  2. Desactive el esquema de base de datos y vuelva a ejecutar el script. Para obtener más información, consulte Oracle REST Data Services (ORDS): uso de SQL Developer.