ORDS-Skript für die CBDC-Großhandelsanwendung ausführen

Nachdem Sie die Instanz erstellt und die Anwendung bereitgestellt haben, können Sie das ORDS-Skript ausführen.

Sie müssen folgende Voraussetzungen erfüllen:
  • Node.js Version 20.19 oder höher, 22.13 oder höher oder 23.5 oder höher.
  • Sie benötigen die ORDS-Skriptdatei .zip, die von der Servicekonsole heruntergeladen werden kann.

Legen Sie keine Produktionsgeheimnisse in die Quellkontrolle. Speichern Sie Datenbankkennwörter, Wallet-Dateien, OAuth-Client-Secrets und Bearer-Token in einem genehmigten Secret-Managementsystem. Die festgeschriebene Datei .env des Skripts ist nur eine Platzhaltervorlage.

  1. Extrahieren Sie die Datei .zip des ORDS-Skripts in ein Arbeitsverzeichnis.
  2. Öffnen Sie im Verzeichnis ORDSscript ein Terminal.
  3. Führen Sie die folgenden Befehle aus, um zu bestätigen, dass die Version von Node.js auf Ihrem System unterstützt wird.
    node --version
    npm install
  4. Konfigurieren Sie die Datei .env, indem Sie Platzhalterwerte in der angegebenen Vorlage ersetzen. Fügen Sie dieser Datei keine Datenbankpasswörter hinzu. Die Befehlszeilenschnittstelle fordert Sie dazu auf, diese interaktiv einzugeben.
    # 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
    Wenn der Parameter CONNECTION_STRING ein TNS-Alias ist, extrahieren Sie das Wallet, und konfigurieren Sie die Oracle-Clientumgebung, sodass die Datei tnsnames.ora gefunden werden kann. Die komprimierte Wallet-Datei .zip allein reicht nicht aus.
    ALIAS_NAME
    REST-fähiger Oracle-Schemaalias, der in der öffentlichen ORDS-URL und Token-URL verwendet wird.
    BESU_ACCOUNT_CONTRACT
    Proxy-Vertragsadresse für Account bereitgestellt.
    BESU_TABLE_PREFIX
    Exaktes Rich-History-Tabellenpräfix. Es bestimmt die Quelltabellen _more, _store_state und _store_hist.
    BESU_TOKEN_CONTRACT
    Großhandels-CBDC-Tokenproxyvertragsadresse bereitgestellt.
    MODULE_NAME und BASE_PATH
    Diese Parameter definieren die Identität des ORDS-Moduls und den URL-Pfad. Behalten Sie Deployment-spezifisch und eindeutig bei.
    PATTERN, CHAINCODE_NAME, INSTANCE_NAME, CHANNEL_NAME
    Diese Parameter werden nur in der Hyperledger Fabric-Version der CBDC-Großhandelsanwendung verwendet. Sie gelten nicht für die Besu-Version.
    VIEW_PREFIX
    Eindeutiger Namespace für operative und optionale Analyseansichten. Verwenden Sie für jedes Deployment, das ein Oracle-Schema gemeinsam verwendet, ein anderes Präfix.
  5. Geben Sie folgenden Befehl zur Ausführung des Skripts ein.
    npm run start
    1. Geben Sie den Oracle-Datenbankbenutzernamen und das Kennwort ein.
    2. Wählen Sie Besu als Blockchain-Plattform aus.
    3. Wählen Sie WCBDC als Anwendungstyp aus.
    4. Wenn eine vorherige Ausführung unvollständig war, prüfen Sie die Rollback-Eingabeaufforderung, bevor Sie Objekte zurücksetzen.
    5. Wählen Sie Ja aus, um ORDS-REST-Endpunkte zu erstellen.
    6. Wählen Sie Analyseansichten nur aus, wenn für das Deployment eine Analyseausgabe erforderlich ist.
    7. Wählen Sie Ja aus, um einen OAuth-Client zu generieren, wenn ein neuer Client für dieses Deployment erforderlich ist.
  6. Wenn Sie die Endpunkt- und OAuth-Erstellung ausgewählt haben, behalten Sie die generierte Ausgabe in einem genehmigten Secret-Speicher bei. Die Ausgabe enthält die aufrufbare Endpunktzuordnung, die OAuth-Client-ID, das OAuth-Client Secret und eine kurzlebige Bearer-Token-Antwort. Kopieren Sie das Client Secret oder Bearer Token nicht in ein Quellkontrollsystem, eine Datei, ein Wiki oder eine Projektmanagementsoftware, die keine genehmigte Secret-Verarbeitung unterstützt. Der folgende Text zeigt eine Beispielausgabe.
    {
      "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. Wenn Sie die OAuth-Clientgenerierung ausgewählt haben, behalten Sie die gemeldete Client-ID und das Client Secret in einem genehmigten Secret-Speicher bei, und rufen Sie damit einen Endpunkt auf, um die Systemfunktion zu prüfen. Der folgende Text zeigt die Form einer Tokenanforderung
    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"
    Endpunkt-URLs verwenden das folgende Format.
    https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/<route>
    Der folgende Befehl zeigt ein Beispiel für einen Verifizierungstest.
    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. Prüfen Sie, ob das Skript erfolgreich ausgeführt wurde, indem Sie die folgenden Prüfungen ausführen.
    Blockchain Platform Manager-Profil
    Das umfangreiche Historieprofil von Oracle AI Database ist vorhanden und wird für die Instanz ausgewählt.
    Rich-History-Tabellen
    Die konfigurierte BESU_TABLE_PREFIX wird in _more, _store_state, and _store_hist-Tabellen aufgelöst.
    Indizierte Daten
    In den umfangreichen Historiendaten wird mindestens eine repräsentative CBDC-Großhandelstransaktion angezeigt.
    Ansichten
    Alle Betriebsansichten sind unter der konfigurierten VIEW_PREFIX vorhanden.
    ORDS-Modul
    Das konfigurierte Modul wird im erwarteten BASE_PATH veröffentlicht.
    OAuth
    Eine Anforderung mit Clientzugangsdaten gibt ein Zugriffstoken zurück.
    API
    Eine gültige authentifizierte Anforderung gibt HTTP 200 zurück. Eine leere items-Liste ist zulässig, wenn keine übereinstimmenden Buchdaten vorhanden sind.
    Isolierung
    Views-, Modul-, Rollen-, Berechtigungs-, Client- und Aliasnamen sind für Deployments, die eine Oracle-Datenbank gemeinsam verwenden, eindeutig.
    Die folgenden SQL-Abfragen sind für die Validierung nützlich.
    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>';