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.
- Extraiga el archivo
.zipdel script ORDS en un directorio de trabajo. - En el directorio
ORDSscript, abra un terminal. - Ejecute los siguientes comandos para confirmar que la versión de Node.js del sistema está soportada.
node --version npm install - Configure el archivo
.envsustituyendo 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_STRINGes un alias de TNS, extraiga la cartera y configure el entorno de cliente de Oracle para que se pueda encontrar el archivotnsnames.ora. El archivo.zipde 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_statey_store_histde origen. BESU_TOKEN_CONTRACT- Dirección de contrato de proxy de token de CBDC al por mayor desplegada.
MODULE_NAMEyBASE_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.
- Introduzca el siguiente comando para ejecutar el archivo de comandos.
npm run start- Introduzca el nombre de usuario y la contraseña de la base de datos de Oracle.
- Seleccione Besu como plataforma de blockchain.
- Seleccione WCBDC como tipo de aplicación.
- Si una ejecución anterior estaba incompleta, revise la petición de datos de rollback antes de elegir revertir objetos.
- Seleccione Sí para crear puntos finales de REST de ORDS.
- Seleccione vistas de análisis solo cuando el despliegue necesite salida de análisis.
- Seleccione Sí para generar un cliente de OAuth cuando se necesite un nuevo cliente para este despliegue.
- 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 } } - 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
Las URL de punto final utilizan el siguiente formato.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"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" - 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_PREFIXconfigurado 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_PREFIXconfigurado. - módulo ORDS
- El módulo configurado se publica en el
BASE_PATHesperado. - 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
itemsvací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.
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>';