Oracle Database - Definitionen für Wholesale CBDC anzeigen

Mit der Rich History-Datenbank können Sie die Kontotransaktionshistorie abrufen und falsche Salden in mehreren Transaktionen auflösen, die im selben Block auftreten.

Mit der API GetAccountTransactionHistoryWithFiltersFromRichHistDB können Sie die Kontotransaktionshistorie aus der Rich-History-Datenbank abrufen. Wenn Sie die Parameter custom_endpoint und bearer_token an die Methode übergeben, wird die Kontotransaktionshistorie aus der Rich History-Datenbank oder der Statusdatenbank abgerufen.
Um die Transaktionshistorie aus der Rich History-Datenbank abzurufen, müssen Sie Oracle Autonomous Database mit aktiviertem Oracle REST Data Services (ORDS) und OAuth ausführen.
  1. Aktivieren und konfigurieren Sie die Rich History-Datenbank.
    Weitere Informationen finden Sie unter Rich History-Datenbank aktivieren und konfigurieren in Oracle Blockchain Platform verwenden.
  2. Aktivieren Sie die Rich History auf den Kanälen, die Chaincode-Daten enthalten, die Sie in die Rich History-Datenbank schreiben möchten. Weitere Informationen finden Sie unter Channels konfigurieren, die Daten in die Rich History-Datenbank schreiben in Oracle Blockchain Platform verwenden.
  3. Laden Sie Node.js Version 18 oder höher herunter, und installieren Sie es.
  4. Wählen Sie auf der Seite Digitale Assets in Oracle Blockchain Platform die Option CBDC-Großhandelsanwendung aus.
  5. Klicken Sie auf Datenbankansichtsdefinitionen herunterladen.
  6. Extrahieren Sie die Datei WholesaleCBDCViewsPackage.zip.
  7. Navigieren Sie zum Ordner ORDSscript, und installieren Sie die erforderlichen Abhängigkeiten, indem Sie den folgenden Befehl ausführen.
    npm install
  8. Bearbeiten Sie die Datei .env, die mit dem Skript bereitgestellt wird, um sie für Ihre Umgebung zu konfigurieren.
    Oracle REST Data Services-Endpunkte verwenden das folgende allgemeine Format.
    <base_URL>/<user_name>/<resource_link>
    Umgebung/Konfigurationstyp Umgebungs-/Konfigurationsvariablen Beschreibung Beispiel
    DB Connection CONNECTION_STRING Die Verbindungszeichenfolge für die Datenbank.
    CONNECTION_STRING="(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)
    (host=adg.ap-sydney-1.example.com))(connect_data=
    (service_name=g536390e55ee33f4_db_high.adg.example.com))(security=(ssl_server_dn_match=yes)))"
    View Configuration VIEW_NAME Der Name der Ansicht zum Anzeigen von Kontotransaktionsdetails. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. VIEW_NAME="viewTest"
    View Configuration CHAINCODE_NAME Der Name des Chaincodes, aus dem Transaktionsdetails in der Rich History-Datenbank abgerufen werden sollen. CHAINCODE_NAME="BondMarketplace"
    View Configuration INSTANCE_NAME Der Name der Instanz, in der der Chaincode bereitgestellt wird. INSTANCE_NAME="BondMarketplace"
    View Configuration CHANNEL_NAME Der Name des Kanals, in dem der Chaincode bereitgestellt wird. CHANNEL_NAME="default"
    ORDS Endpoint Setup MODULE_NAME Der Name des zu verwendenden ORDS-Moduls. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. MODULE_NAME="demotest"
    ORDS Endpoint Setup BASE_PATH Der Basispfad der ORDS-URL. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. BASE_PATH="demotest"
    ORDS Endpoint Setup PATTERN Der Mustername der ORDS-URL. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. PATTERN="accountTransactionDetails"
    ORDS Endpoint Setup ITEMS_PER_PAGE Die Anzahl der Elemente, die pro Seite in den ORDS-Abfrageergebnissen angezeigt werden sollen. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. ITEMS_PER_PAGE=120
    ORDS REST Endpoint ORDS_REST_BASE_URL Die Basis-URL des ORDS-REST-Endpunkts der Datenbank. ORDS_REST_BASE_URL="https://g536390e55ee33f4_db_high.adg.ap-sydney-1.example.com"
    Alias Configuration ALIAS_NAME Der Alias, der anstelle eines Benutzernamens in der REST-Endpunkt-URL verwendet werden soll. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. ALIAS_NAME="demotestAlias"
    ORDS Role ROLE_NAME Die dem Benutzer zugewiesene ORDS-Rolle. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. ROLE_NAME="demotest_role"
    ORDS Privilege PRIVILEGE_NAME Die ORDS-Berechtigung, die dem Benutzer zugewiesen ist. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. PRIVILEGE_NAME="demotest_priv"
    ORDS Privilege LABEL Ein Label für die ORDS-Berechtigung. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. LABEL="demotest_label"
    ORDS Privilege DESCRIPTION Eine Beschreibung der ORDS-Berechtigung. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. DESCRIPTION="demotest_description"
    OAuth Configuration CLIENT_NAME Der Clientname für die OAuth-Authentifizierung mit dem ORDS-REST-Endpunkt. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. CLIENT_NAME="demotest_client"
    OAuth Configuration OWNER Der Eigentümername, der für die OAuth-Authentifizierung mit dem ORDS-REST-Endpunkt verwendet werden soll. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. OWNER="demotest"
    OAuth Configuration DESCRIPTION Eine Beschreibung der OAuth-Konfiguration. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. DESCRIPTION="demotest_description"
    OAuth Configuration SUPPORT_EMAIL Die Support-E-Mail-Adresse für die OAuth-Konfiguration. Dabei kann es sich um einen beliebigen Wert handeln, der nicht mit vorhandenen Assets in der Datenbank in Konflikt steht. SUPPORT_EMAIL="test@example.com"

    Analytics-Ansichtsnamen sind im Softwarecode enthalten. Die Kontenansicht lautet ACCOUNTS_MOD. Die Transaktionsansicht lautet TRANSACTION_MOD. Die Kontotransaktionsansicht lautet ACCOUNTS_TRANSACTION_MOD.

  9. Führen Sie das ORDS-Skript mit dem folgenden Befehl aus.
    npm run start --username='<username>' --password='<password>'

    In diesem Beispiel sind <username> und <password> die Zugangsdaten für die Rich History-Datenbank, die über die erforderlichen Berechtigungen zum Erstellen der Ansicht und des ORDS-Endpunkts verfügen muss. Der Benutzername und das Kennwort müssen in einfache Anführungszeichen (') gesetzt werden, da die Benutzeroberfläche bash eingeschränkt ist.

    Wenn der Befehl ausgeführt wird, werden die folgenden Eingabeaufforderungen angezeigt.
    Do you want to create the View and ORDS Endpoint? (y/n)
    Geben Sie y ein, um die Ansicht und den Endpunkt zu erstellen. Geben Sie n ein, wenn Sie die Ansicht und den Endpunkt bereits erstellt haben.
    Please select the language of your chaincode? (TS/GO)
    Wenn Sie zuvor y eingegeben haben, geben Sie TS für TypeScript oder GO für "Los" ein.
    Do you want to generate ORDS Endpoint URL and Bearer Token? (y/n)
    Geben Sie y ein, um die Endpunktzugangsdaten zu generieren. Andernfalls geben Sie n ein.
Möglicherweise wird der folgende Fehler angezeigt.
Error: ORA-20049: Cannot alter the URL mapping while the schema is enabled. Try disabling the schema first.
Dieser Fehler tritt auf, weil das Datenbankschema aktiviert ist und daher nicht dem anderen Alias zugeordnet werden kann, der in der Datei .env angegeben ist.
Gehen Sie folgendermaßen vor, um dieses Verhalten zu umgehen.
  1. Verwenden Sie denselben Aliasnamen, der zuvor verwendet wurde, oder prüfen Sie die REST-Services in der Datenbank auf den Schemaalias.
  2. Deaktivieren Sie das Datenbankschema, und führen Sie das Skript erneut aus. Weitere Informationen finden Sie unter Oracle REST Data Services (ORDS): SQL Developer verwenden.