Ejecución del script ORDS para la aplicación CBDC Wholesale

Después de crear la instancia y desplegar la aplicación, puede ejecutar el script ORDS.

Debe reunir los siguientes requisitos previos:
  • Node.js versión 20.19 o posterior, 22.13 o posterior, o 23.5 o posterior.
  • Debe tener el archivo de script ORDS .zip, que se puede descargar desde la consola de servicio.

No coloque secretos de producción en el control de origen. Almacene contraseñas de base de datos, archivos de cartera, secretos de cliente de OAuth y tokens portadores en un sistema de gestión de secretos aprobado. El archivo .env confirmado del script es solo una plantilla de marcador de posición.

  1. Extraiga el archivo .zip del script ORDS en un directorio de trabajo.
  2. En el directorio ORDSscript, abra un terminal.
  3. Ejecute los siguientes comandos para confirmar que la versión de Node.js del sistema está soportada.
    node --version
    npm install
  4. Configure el archivo .env sustituyendo los valores de marcador de posición en la plantilla proporcionada. No agregue contraseñas de base de datos a este archivo; la interfaz de línea de comandos las solicita de forma interactiva.
    # Common ORDS configuration
    CONNECTION_STRING="<Oracle connection string or TNS service alias>"
    VIEW_PREFIX="<unique deployment namespace>"
    MODULE_NAME="<unique ORDS module name>"
    BASE_PATH="<unique/ords/base/path/>"
    ITEMS_PER_PAGE="100"
    ORDS_REST_BASE_URL="https://<ords-host>"
    ALIAS_NAME="<REST-enabled schema alias>"
    ROLE_NAME="<unique ORDS role>"
    PRIVILEGE_NAME="<unique ORDS privilege>"
    LABEL="<privilege label>"
    DESCRIPTION="<deployment description>"
    CLIENT_NAME="<OAuth client name>"
    OWNER="<OAuth client owner>"
    SUPPORT_EMAIL="<support email>"
    
    # Besu WCBDC configuration
    BESU_TABLE_PREFIX="<exact prefix before _more, _store_state and _store_hist>"
    BESU_TOKEN_CONTRACT="0x<deployed WCBDC token proxy address>"
    BESU_ACCOUNT_CONTRACT="0x<deployed Account proxy address>"
    CONNECTION_STRING
    Si el parámetro CONNECTION_STRING es un alias de TNS, extraiga la cartera y configure el entorno de cliente de Oracle para que se pueda encontrar el archivo tnsnames.ora. El archivo .zip de cartera comprimido por sí solo no es suficiente.
    ALIAS_NAME
    Alias de esquema de Oracle activado para REST que se utiliza en la URL pública de ORDS y la URL de token.
    BESU_ACCOUNT_CONTRACT
    Dirección de contrato de proxy de cuenta desplegada.
    BESU_TABLE_PREFIX
    Prefijo de tabla de historial enriquecido exacto; determina las tablas _more, _store_state y _store_hist de origen.
    BESU_TOKEN_CONTRACT
    Dirección de contrato de proxy de token de CBDC al por mayor desplegada.
    MODULE_NAME y BASE_PATH
    Estos parámetros definen la identidad del módulo ORDS y la ruta de URL. Mantenga el despliegue específico y único.
    PATTERN, CHAINCODE_NAME, INSTANCE_NAME, CHANNEL_NAME
    Estos parámetros sólo se utilizan en la versión de Hyperledger Fabric de la aplicación CBDC al por mayor. No se aplican a la versión de Besu.
    VIEW_PREFIX
    Espacio de nombres único para vistas de análisis operativas y opcionales. Utilice un prefijo diferente para cada despliegue que comparta un esquema de Oracle.
  5. Introduzca el siguiente comando para ejecutar el archivo de comandos.
    npm run start
    1. Introduzca el nombre de usuario y la contraseña de la base de datos de Oracle.
    2. Seleccione Besu como plataforma de blockchain.
    3. Seleccione WCBDC como tipo de aplicación.
    4. Si una ejecución anterior estaba incompleta, revise la petición de datos de rollback antes de elegir revertir objetos.
    5. Seleccione Sí para crear puntos finales de REST de ORDS.
    6. Seleccione vistas de análisis solo cuando el despliegue necesite salida de análisis.
    7. Seleccione Sí para generar un cliente de OAuth cuando se necesite un nuevo cliente para este despliegue.
  6. Si ha seleccionado el punto final y la creación de OAuth, conserve la salida generada en un almacén secreto aprobado. La salida contiene la asignación de punto final que se puede llamar, el ID de cliente de OAuth, el secreto de cliente de OAuth y una respuesta de token de portador de corta duración. No copie el secreto de cliente ni el token de portador en ningún sistema de control de origen, archivo, wiki o software de gestión de proyectos que no admita el manejo de secretos aprobado. El siguiente texto muestra una salida de ejemplo.
    {
      "ORDSEndpoint": "<generated endpoint URL or endpoint map>",
      "clientId": "<OAuth client ID>",
      "clientSecret": "<OAuth client secret>",
      "bearerToken": {
        "access_token": "<short-lived access token>",
        "token_type": "bearer",
        "expires_in": 3600
      }
    }
  7. Si ha seleccionado la generación de cliente de OAuth, conserve el ID de cliente y el secreto de cliente informados en un almacén secreto aprobado y utilícelos para llamar a un punto final para verificar la función del sistema. El siguiente texto muestra la forma de una solicitud de token
    curl --request POST \
      "https://<ords-host>/ords/<ALIAS_NAME>/oauth/token" \
      --user "<client-id>:<client-secret>" \
      --header "Content-Type: application/x-www-form-urlencoded" \
      --data "grant_type=client_credentials"
    Las URL de punto final utilizan el siguiente formato.
    https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/<route>
    El siguiente comando muestra un ejemplo de prueba de verificación.
    curl --location \
      "https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/getAllCBDCAccounts?token_id=<TOKEN_ID>" \
      --header "Authorization: Bearer <access-token>" \
      --header "Accept: application/json"
  8. Verifique que el script se ha ejecutado correctamente ejecutando las siguientes comprobaciones.
    Perfil de Blockchain Platform Manager
    El perfil de historial enriquecido de Oracle AI Database existe y está seleccionado para la instancia.
    Tablas de historial enriquecidas
    El valor BESU_TABLE_PREFIX configurado se resuelve en tablas _more, _store_state, and _store_hist.
    Datos indexados
    Al menos una transacción representativa de CBDC mayorista se muestra en los datos de historial enriquecido.
    Vistas
    Todas las vistas operativas existen en el VIEW_PREFIX configurado.
    módulo ORDS
    El módulo configurado se publica en el BASE_PATH esperado.
    OAuth
    Una solicitud de credenciales de cliente devuelve un token de acceso.
    API
    Una solicitud autenticada válida devuelve HTTP 200. Se acepta una lista items vacía cuando no existen datos de libro mayor coincidentes.
    Aislamiento
    Las vistas, los nombres de módulo, rol, privilegio, cliente y alias son únicos para los despliegues que comparten una base de datos Oracle.
    Las siguientes consultas SQL son útiles para la validación.
    SELECT view_name
    FROM user_views
    WHERE view_name LIKE UPPER('<VIEW_PREFIX>') || '_%'
    ORDER BY view_name;
    
    SELECT name, uri_prefix, items_per_page, status
    FROM user_ords_modules
    WHERE name = '<MODULE_NAME>';