Exécuter le script ORDS pour l'application CBDC Wholesale
Après avoir créé l'instance et déployé l'application, vous pouvez exécuter le script ORDS.
Vous devez satisfaire aux prérequis suivants :
- Node.js version 20.19 ou ultérieure, 22.13 ou ultérieure, ou 23.5 ou ultérieure.
- Vous devez disposer du fichier de script ORDS
.zip, qui peut être téléchargé à partir de la console de service.
Ne placez pas de secrets de production dans le contrôle des sources. Stockez les mots de passe de base de données, les fichiers de portefeuille, les clés secrètes client OAuth et les jetons de support dans un système de gestion des clés secrètes approuvé. Le fichier .env validé du script est uniquement un modèle d'espace réservé.
- Extrayez le fichier
.zipdu script ORDS dans un répertoire de travail. - Dans le répertoire
ORDSscript, ouvrez un terminal. - Exécutez les commandes suivantes pour vérifier que la version de Node.js sur votre système est prise en charge.
node --version npm install - Configurez le fichier
.enven remplaçant les valeurs d'espace réservé dans le modèle fourni. N'ajoutez pas de mots de passe de base de données à ce fichier ; l'interface de ligne de commande vous invite à les saisir de manière interactive.# 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 le paramètre
CONNECTION_STRINGest un alias TNS, extrayez le portefeuille et configurez l'environnement client Oracle afin de trouver le fichiertnsnames.ora. Le fichier.zipde portefeuille compressé seul ne suffit pas. ALIAS_NAME- Alias de schéma Oracle activé par REST utilisé dans l'URL ORDS publique et l'URL de jeton.
BESU_ACCOUNT_CONTRACT- Adresse du contrat proxy du compte déployé.
BESU_TABLE_PREFIX- Préfixe exact de table d'historique enrichi ; il détermine les tables source
_more,_store_stateet_store_hist. BESU_TOKEN_CONTRACT- Adresse du contrat de proxy de jeton CBDC de gros déployé.
MODULE_NAMEetBASE_PATH- Ces paramètres définissent l'identité du module ORDS et le chemin d'URL. Préservez l'unicité et la spécificité du déploiement.
PATTERN, CHAINCODE_NAME, INSTANCE_NAME, CHANNEL_NAME- Ces paramètres sont utilisés uniquement dans la version Hyperledger Fabric de l'application CBDC de gros. Elles ne s'appliquent pas à la version Besu.
VIEW_PREFIX- Espace de noms unique pour les vues analytiques opérationnelles et facultatives. Utilisez un préfixe différent pour chaque déploiement qui partage un schéma Oracle.
- Entrez la commande suivante pour exécuter le script.
npm run start- Entrez le nom utilisateur et le mot de passe de la base de données Oracle.
- Sélectionnez Besu comme plate-forme de chaîne de blocs.
- Sélectionnez WCBDC comme type d'application.
- Si une exécution antérieure était incomplète, vérifiez l'invite d'annulation avant de choisir d'annuler les objets.
- Sélectionnez Oui pour créer des adresses REST ORDS.
- Sélectionnez des vues d'analyse uniquement lorsque le déploiement requiert une sortie d'analyse.
- Sélectionnez Oui pour générer un client OAuth lorsqu'un nouveau client est requis pour ce déploiement.
- Si vous avez sélectionné l'adresse et la création OAuth, conservez la sortie générée dans une banque de clés secrètes approuvée. La sortie contient la correspondance d'adresse appelable, l'ID de client OAuth, la clé secrète de client OAuth et une réponse de jeton de support de courte durée. Ne copiez pas la clé secrète du client ou le jeton du porteur vers un système de contrôle source, un fichier, un wiki ou un logiciel de gestion de projet qui ne prend pas en charge la gestion des clés secrètes approuvées. Le texte suivant présente un exemple de sortie.
{ "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 vous avez sélectionné la génération de client OAuth, conservez l'ID client et la clé secrète client signalés dans une banque de clés secrètes approuvée et utilisez-les pour appeler une adresse afin de vérifier la fonction système. Le texte suivant présente la forme d'une demande de jeton
Les URL d'adresse utilisent le format suivant.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>La commande suivante présente un exemple de test de vérification.curl --location \ "https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/getAllCBDCAccounts?token_id=<TOKEN_ID>" \ --header "Authorization: Bearer <access-token>" \ --header "Accept: application/json" - Vérifiez que le script s'est exécuté correctement en effectuant les vérifications suivantes.
- Profil Blockchain Platform Manager
- Le profil d'historique enrichi Oracle AI Database existe et est sélectionné pour l'instance.
- Tables d'historique enrichies
- Le fichier
BESU_TABLE_PREFIXconfiguré est résolu en tables_more, _store_state, and _store_hist. - Données indexées
- Au moins une transaction CBDC de gros représentative est affichée dans les données historiques riches.
- Vues
- Toutes les vues opérationnelles existent sous le paramètre
VIEW_PREFIXconfiguré. - Module ORDS
- Le module configuré est publié à l'adresse
BASE_PATHattendue. - OAuth
- Une demande d'informations d'identification client renvoie un jeton d'accès.
- API
- Une demande authentifiée valide renvoie HTTP 200. Une liste
itemsvide est acceptable lorsqu'aucune donnée de livre correspondante n'existe. - Isolation
- Les noms de vue, de module, de rôle, de privilège, de client et d'alias sont uniques pour les déploiements qui partagent une base de données 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>';