Exécuter le script ORDS pour l'application de jeton de dépôt

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é.

  1. Extrayez le fichier .zip du script ORDS dans un répertoire de travail.
  2. Dans le répertoire ORDSscript, ouvrez un terminal.
  3. 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
  4. Configurez le fichier .env en 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 Deposit Token configuration
    BESU_TABLE_PREFIX="<exact prefix before _more, _store_state and _store_hist>"
    BESU_TOKEN_CONTRACT="0x<deployed Deposit Token token proxy address>"
    BESU_ACCOUNT_CONTRACT="0x<deployed Account proxy address>"
    
    CONNECTION_STRING
    Si le paramètre CONNECTION_STRING est un alias TNS, extrayez le portefeuille et configurez l'environnement client Oracle afin de trouver le fichier tnsnames.ora. Le fichier .zip de portefeuille compressé seul ne suffit pas.
    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.
    MODULE_NAME et BASE_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.
    ALIAS_NAME
    Alias de schéma Oracle activé par REST utilisé dans l'URL ORDS publique et l'URL de jeton.
    BESU_TABLE_PREFIX
    Préfixe exact de table d'historique enrichi ; il détermine les tables source _more, _store_state et _store_hist.
    BESU_TOKEN_CONTRACT
    Adresse du contrat proxy de jeton de dépôt déployé.
    BESU_ACCOUNT_CONTRACT
    Adresse du contrat proxy du compte déployé.
  5. Entrez la commande suivante pour exécuter le script.
    npm run start
    1. Entrez le nom utilisateur et le mot de passe de la base de données Oracle.
    2. Sélectionnez Besu comme plate-forme de chaîne de blocs.
    3. Sélectionnez Jeton de dépôt de garantie comme type d'application.
    4. Si une exécution antérieure était incomplète, vérifiez l'invite d'annulation avant de choisir d'annuler les objets.
    5. Sélectionnez Oui pour créer des adresses REST ORDS.
    6. Sélectionnez des vues d'analyse uniquement lorsque le déploiement requiert une sortie d'analyse.
    7. Sélectionnez Oui pour générer un client OAuth lorsqu'un nouveau client est requis pour ce déploiement.
  6. 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
      }
    }
  7. 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
    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"
    Les URL d'adresse utilisent le format suivant.
    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>/getAllDepositTokenAccounts?token_id=<TOKEN_ID>" \
      --header "Authorization: Bearer <access-token>" \
      --header "Accept: application/json"
  8. 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_PREFIX configuré est résolu en tables _more, _store_state, and _store_hist.
    Données indexées
    Au moins une transaction de jeton de dépôt représentatif est affichée dans les données d'historique riches.
    Vues
    Toutes les vues opérationnelles existent sous le paramètre VIEW_PREFIX configuré.
    Module ORDS
    Le module configuré est publié à l'adresse BASE_PATH attendue.
    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 items vide 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.
    Les requêtes SQL suivantes sont utiles pour la validation.
    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>';