Configurar Oracle Blockchain Platform para la aplicación de ejemplo CBDC mayorista

Después de crear todas las instancias necesarias de Oracle Blockchain Platform y sus productos de requisitos, deberá configurar los usuarios y roles, agregar las organizaciones participantes a la organización fundadora y activar la base de datos de historial enriquecida.

Configuración de grupos de IDCS en instancias de Oracle Blockchain Platform

Para obtener información adicional sobre los roles incorporados de Oracle Blockchain Platform y cómo asignarles usuarios, consulte Configuración de usuarios y roles de aplicación.

Para obtener información adicional sobre los roles de aplicación de ejemplo de CBDC al por mayor, consulte Flujo de trabajo de aplicación de CBDC al por mayor.

En Oracle Blockchain Platform, se deben implantar las siguientes asignaciones de roles de aplicación:

  • Grupos de propietarios de sistemas: asigne el grupo de IDCS de propietario de sistema único combinado (que contiene todas las personas responsables del sistema) al rol de aplicación REST_CLIENT de la instancia de Oracle Blockchain Platform Digital Assets Edition del propietario del sistema. No asigne grupos específicos de persona individuales directamente a la instancia de Oracle Blockchain Platform Digital Assets Edition.
  • Grupos de organizaciones participantes: para cada organización participante, asigne el grupo IDCS de una sola organización participante combinada (que contenga todos los grupos específicos de persona para esa organización) al rol de aplicación REST_CLIENT de la instancia correspondiente de Oracle Blockchain Platform Digital Assets Edition.
  • Roles administrativos: asigne los grupos administrativos relevantes, como System_Admins y Org1_Admins, al rol de aplicación ADMIN de su respectiva instancia de Oracle Blockchain Platform Digital Assets Edition.

Esta configuración garantiza que tanto el propietario del sistema como los grupos de organizaciones participantes tengan el acceso necesario mediante el rol REST_CLIENT, mientras que los privilegios administrativos se gestionan correctamente mediante el rol ADMIN.

Siga estos pasos para asignar los grupos a roles de aplicación.

  1. Conéctese a su cuenta de Oracle Cloud Infrastructure.
  2. En la consola, haga clic en el menú Navegación en la esquina superior izquierda.
  3. En Identidad, seleccione Dominios.
  4. En la página Dominios, haga clic en Oracle Identity Cloud Service.
  5. En el menú de navegación de Oracle Identity Cloud Service, seleccione Oracle Cloud Services. Localice la instancia de Oracle Blockchain Platform a la que desea asignar roles de grupo. Abra la página Detalles de esa instancia.
  6. Vaya a la página Roles de aplicación para ver los roles de aplicación de Oracle Identity Cloud Service que se muestran en el navegador de recursos.
  7. Seleccione el rol que desea asignar y expanda el rol. Haga clic en el menú Más del rol y seleccione Asignar grupos.
  8. En el cuadro de diálogo Asignar grupos, seleccione los grupos que desee asignar al rol y haga clic en Asignar.

Recuperar ClientId y ClientSecret

Visual Builder utilizará Oracle Blockchain Platform ClientID y ClientSecret. Tendrá que actualizar estos parámetros en Visual Builder más adelante, como se describe en Configuración de backends de Visual Builder.

Complete los siguientes pasos para recuperar el ID de cliente y el secreto de cliente para una instancia de Oracle Blockchain Platform:

  1. Conéctese a su cuenta de Oracle Cloud Infrastructure. Asegúrese de que tiene privilegios administrativos suficientes para gestionar la configuración de OAuth.
  2. En la consola, haga clic en el menú Navegación en la esquina superior izquierda.
  3. En Identidad, seleccione Dominios.
  4. En la página Dominios, haga clic en Oracle Identity Cloud Service.
  5. En el menú de navegación de Oracle Identity Cloud Service, seleccione Oracle Cloud Services. Busque la instancia de Oracle Blockchain Platform para la que desea recuperar el ID de cliente y el secreto de cliente. Abra la página Detalles de esa instancia.
  6. Al abrir la página de detalles de la instancia, el separador por defecto que se muestra será el separador Configuración OAuth. Este separador contiene información esencial sobre la configuración de OAuth para la instancia de Oracle Blockchain Platform.

    Encontrará campos con las etiquetas Client ID y Client Secret en la sección General Information. Estas credenciales se utilizan para autenticar solicitudes de API en Oracle Blockchain Platform.

Configuración de varias organizaciones

Si está creando una red compleja de Oracle Blockchain Platform con varias organizaciones, agregue participantes al fundador. En la Guía de administración de Oracle Blockchain Platform se proporciona una visión general de este proceso: Adición de organizaciones participantes de OBCS a la red.

Configuración de la base de datos de historial enriquecido para Oracle Blockchain Platform

Para obtener más información sobre la configuración y el uso de la base de datos de historial enriquecida, consulte Creación de la base de datos de historial enriquecida.

Antes de realizar estos pasos, debe haber creado una instancia de Autonomous Database como se describe en Aprovisionamiento de Autonomous Database para activar la base de datos de historial enriquecida para Oracle Blockchain Platform.

En modo genérico, configure la instancia única de Oracle Autonomous Database para la instancia del propietario del sistema de Oracle Blockchain Platform. En modo confidencial, debe configurar cada organización participante y el propietario del sistema con instancias independientes de Oracle Autonomous Database.

  1. Abra la consola de Oracle Blockchain Platform para la instancia de red.
  2. Haga clic en el menú Más acciones en la esquina superior derecha y seleccione Configurar historial enriquecido.
  3. Especifique una conexión a la base de datos Oracle proporcionando la cadena de conexión y las credenciales para acceder a la base de datos Oracle y escribir en ella. Tenga en cuenta que las credenciales que proporciona son las credenciales de la base de datos y Oracle Blockchain Platform no las gestiona.
  4. Haga clic en Guardar para configurar la base de datos de historial enriquecida.

Crear inscripciones

Debe crear manualmente las inscripciones para los usuarios en los grupos System_Admins y Org_Admins.

Las inscripciones en el proxy REST de Oracle Blockchain Platform proporcionan un mecanismo para que los usuarios interactúen con la cadena de bloques sin necesidad de un certificado de inscripción, lo que simplifica las llamadas de API mediante la asignación de identidades de aplicación a los miembros de la cadena de bloques. Para iniciar cualquier llamada al código de cadena, las inscripciones deben establecerse en Oracle Blockchain Platform.

La aplicación mayorista CBDC gestiona la creación de inscripciones para los usuarios durante la configuración de la cuenta; sin embargo, cuando un usuario administrador del sistema inicia sesión por primera vez, no existe ninguna inscripción. Por lo tanto, si este usuario intenta crear una cuenta, la llamada RestProxy fallará. Por lo tanto, es esencial crear una inscripción para el grupo System_Admins.

Al configurar cuentas, se crean inscripciones para las organizaciones respectivas. Por ejemplo, cuando se establecen cuentas para el propietario del sistema, se generarán las inscripciones correspondientes. Sin embargo, si alguna cuenta de organización participante se crea a través de la página del administrador del sistema, las inscripciones no se crearán automáticamente para esas organizaciones. En este workflow de CBDC mayorista, debe definir las cuentas de administrador de la organización en la página de administrador del sistema. Por lo tanto, debe crear inscripciones manualmente para el grupo de administradores de la organización, ya que estas inscripciones no se generarán automáticamente debido a la estructura organizativa distinta entre el banco central y las instituciones financieras.

Consulte Agregar inscripciones a un proxy REST para obtener información completa sobre cómo crear las inscripciones.

Recuperar RestproxyId

Visual Builder utilizará el valor RestproxyId. Tendrá que actualizarlo en Visual Builder más adelante, como se describe en Configuración de backends de Visual Builder.

Para recuperar RestProxyId para una instancia de Oracle Blockchain Platform, debe llamar a las API de la consola de Oracle Blockchain Platform mediante una cuenta de usuario administrativo. La autenticación se puede realizar mediante la autenticación básica o OAuth 2.0.

Método de Autenticación

Para OAuth 2.0, consulte la documentación en OAuth 2.0 Access Token Based Authentication para implementar el flujo de autenticación necesario.

Punto final de API para recuperar RestProxyId

Utilice la API de la consola de Oracle Blockchain Platform para obtener RestProxyId enviando una solicitud al siguiente punto final:

GET <oracleblockchainplatform_url>/console/admin/api/v2/nodes

Esta llamada de API devolverá una respuesta que contiene detalles sobre los proxies REST configurados en la instancia.

Para obtener más información sobre la API de la consola, consulte la siguiente documentación: Obtención de la lista de nodos.

Detalles de Respuesta

En la respuesta, busque la sección con la etiqueta RESTProxies, donde encontrará el RestProxyId correspondiente. La estructura de la respuesta incluirá varios atributos asociados a cada nodo de proxy REST.

"RESTProxies": [
        {
            "status": "up",
            "extInfo": [],
            "displayName": "restproxy",
            "RESTProxyId": "48021a2c-e62b-40cd-b7ca-71dda883521d-restproxy",
            "url": "https://bank3-oabcs1-hyd.blockchain.ocp.oraclecloud.com:7443/restproxy",
            "mspId": "Bank3"
        }
    ]

Despliegue del Código de Cadena para la Aplicación de Ejemplo CBDC Mayorista

Ahora puede crear un canal y desplegar el código de cadenas de la aplicación de ejemplo en él.

  1. Crear un canal.
    1. Defina un nuevo canal con los participantes necesarios según los requisitos de la organización.
    2. Durante el proceso de creación del canal, asegúrese de que la opción Activar historial enriquecido esté seleccionada. Esta opción activa la función de historial enriquecido, que se ha configurado anteriormente.
    3. Solo en modo confidencial: para Recopilaciones de datos privados, introduzca un asterisco (*) para permitir el acceso a todas las recopilaciones de datos privadas.
      Si no completa este paso, los datos devueltos por la recopilación de datos privados no serán precisos.
    4. Modo confidencial únicamente: repita los dos pasos anteriores (habilitando el historial enriquecido y el acceso a recopilaciones de datos privados en el canal creado anteriormente) para todas las demás organizaciones participantes en la red.
  2. Despliegue el código de cadenas.
    • Modo genérico: despliegue el código de cadena CBDC al por mayor descargando el paquete de código de cadena CBDC al por mayor y desplegando el archivo de almacenamiento dentro de él (WholesaleCBDC.zip) en el nuevo canal. El nombre del paquete es Wholesale CBDC.
    • Modo confidencial: despliegue el código de cadena CBDC al por mayor confidencial descargando el paquete de código de cadena CBDC al por mayor confidencial y desplegando el archivo de almacenamiento dentro de él (WholesaleCBDC-Confidential.zip) en el nuevo canal. El nombre de paquete es WholesaleCBDCConfidential.
    Para obtener más información sobre cómo desplegar códigos de cadena, consulte Flujo de trabajo típico para desplegar códigos de cadena.
  3. Llame a la API init, utilizando la recopilación mayorista de CBDC Postman proporcionada en el paquete de código de cadena CBDC al por mayor o la recopilación mayorista confidencial de CBDC Postman en el paquete de código de cadena CBDC al por mayor confidencial, según corresponda. Este paso finaliza el proceso de inicialización y garantiza que el código de cadena esté listo para su uso.
  4. Compruebe el estado de replicación.
    1. Vaya al separador Canales.
    2. Busque el canal y haga clic en el menú Más acciones situado en la parte derecha de la entrada de canal.
    3. Seleccione Estado de historial enriquecido para ver el estado de replicación.
      • Si el estado es REPLICATING, los datos del canal se replican activamente en la base de datos de historial enriquecida.
      • Si el estado de replicación es USER_DISABLED, realice las siguientes acciones:
        1. Reinicie el par: reinicie el nodo par asociado al canal.
        2. Iniciar una transacción: dispare cualquier transacción en el canal para iniciar la replicación de datos.
        3. Vuelva a comprobar el estado de replicación para confirmar que los datos ahora se están replicando en la base de datos de historial enriquecida.
Observe el nombre del canal y el nombre del código de cadenas; deberá configurar Visual Builder con estos para que funcione con la aplicación de ejemplo.

Crear vistas de base de datos de historial enriquecido

Después de crear la base de datos de historial enriquecida para la instancia de Oracle Blockchain Platform, puede ejecutar el script de creación de vista de base de datos para crear las vistas en la base de datos de historial enriquecida y generar el punto final de ORDS.

El script de Oracle REST Data Services (ORDS) es una aplicación Node.js escrita en TypeScript, diseñada para exponer los puntos finales de ORDS para recuperar los detalles de la transacción de cuenta de la base de datos de historial enriquecida. Crea un punto final RESTful que permite a los usuarios recuperar datos de transacción de código de cadenas (tanto para códigos de cadenas TypeScript como Go) de la base de datos de historial enriquecida. También proporciona credenciales esenciales como el punto final de ORDS, clientId, clientSecret y el token de portador para autenticar y acceder al punto final.
  1. Descargue el script de creación de la vista de base de datos.
    1. Abra la consola de Oracle Blockchain Platform.
    2. Vaya a la página Activos digitales.
    3. En la barra lateral izquierda, vaya a la aplicación Wholesale CBDC.
    4. Descargue el script del área Definiciones de vista de Oracle Database para WholesaleCBDC.
  2. Después de descargar el script, consulte Oracle Database View Definitions for Wholesale CBDC para obtener más información sobre cómo ejecutarlo.
  3. El script devuelve el punto final de ORDS, el ID de cliente, el secreto de cliente y el token de portador.
    • En el modo genérico, todas las organizaciones utilizan una única configuración de punto final ORDS. El script devuelve puntos finales para las cuentas en tres ámbitos: cuentas individuales, cuentas de nivel de organización y todas las cuentas.
      {
        ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
       {
        "ORDSEndpoint": {
          "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN",
          "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts",
          "AllAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNAllAccounts"
        },
        clientId: '<clientId>',
        clientSecret: '<clientSecret>',
        bearerToken: {
          access_token: '<BearerToken>',
          token_type: 'bearer',
          expires_in: 3600
        }
      }
    • En el modo confidencial, cada organización, incluido el propietario del sistema, tiene su propia configuración de ORDS. Los puntos finales del propietario del sistema incluyen el acceso a todas las cuentas. Las organizaciones participantes solo tienen acceso a sus propias cuentas de nivel de organización.
      Propietario del sistema:
      {
        ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
       {
        "ORDSEndpoint": {
          "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN",
          "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts",
          "AllAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNAllAccounts"
        },
        clientId: '<clientId>',
        clientSecret: '<clientSecret>',
        bearerToken: {
          access_token: '<BearerToken>',
          token_type: 'bearer',
          expires_in: 3600
        }
      }
      Organización participante:
      {
        ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
       {
        "ORDSEndpoint": {
          "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN",
          "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts"
        },
        clientId: '<clientId>',
        clientSecret: '<clientSecret>',
        bearerToken: {
          access_token: '<BearerToken>',
          token_type: 'bearer',
          expires_in: 3600
        }
      }
El punto final ORDS para acceder a los servicios RESTful sigue esta estructura:
ORDS_REST_BASE_URL/ords/ALIAS_NAME/BASE_PATH/PATTERN
  • ORDS_REST_BASE_URL: URL base del servicio ORDS.
  • ALIAS_NAME: alias de base de datos o esquema configurado en ORDS.
  • BASE_PATH: ruta base para los servicios RESTful.
  • PATTERN: patrón de punto final específico para el servicio RESTful.
Para generar un token de portador para la autenticación, utilice el punto final de token OAuth2:
ORDS_REST_BASE_URL/ords/ALIAS_NAME/oauth/token
Los siguientes parámetros relacionados con ORDS se deben actualizar en el backend de Visual Builder para recuperar datos de la base de datos de historial enriquecida. Esto se completará más adelante en Configurar backends de Visual Builder.
  • clientId
  • clientSecret
  • Punto final de ORDS (solo punto final Accounts; los puntos finales OrgAccounts y AllAccounts se derivan internamente)
  • URL base OAuth: ORDS_REST_BASE_URL/ords/<userName|aliasName>