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.
- Extrahieren Sie die Datei
.zipdes ORDS-Skripts in ein Arbeitsverzeichnis. - Öffnen Sie im Verzeichnis
ORDSscriptein Terminal. - 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 - 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_STRINGein TNS-Alias ist, extrahieren Sie das Wallet, und konfigurieren Sie die Oracle-Clientumgebung, sodass die Dateitnsnames.oragefunden werden kann. Die komprimierte Wallet-Datei.zipallein 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_stateund_store_hist. BESU_TOKEN_CONTRACT- Großhandels-CBDC-Tokenproxyvertragsadresse bereitgestellt.
MODULE_NAMEundBASE_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.
- Geben Sie folgenden Befehl zur Ausführung des Skripts ein.
npm run start- Geben Sie den Oracle-Datenbankbenutzernamen und das Kennwort ein.
- Wählen Sie Besu als Blockchain-Plattform aus.
- Wählen Sie WCBDC als Anwendungstyp aus.
- Wenn eine vorherige Ausführung unvollständig war, prüfen Sie die Rollback-Eingabeaufforderung, bevor Sie Objekte zurücksetzen.
- Wählen Sie Ja aus, um ORDS-REST-Endpunkte zu erstellen.
- Wählen Sie Analyseansichten nur aus, wenn für das Deployment eine Analyseausgabe erforderlich ist.
- Wählen Sie Ja aus, um einen OAuth-Client zu generieren, wenn ein neuer Client für dieses Deployment erforderlich ist.
- 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 } } - 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
Endpunkt-URLs verwenden das folgende Format.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>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" - 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_PREFIXwird 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_PREFIXvorhanden. - ORDS-Modul
- Das konfigurierte Modul wird im erwarteten
BASE_PATHverö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.
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>';