Oracle Database - Visualizza definizioni per CBDC all'ingrosso

È possibile utilizzare il database Rich History per recuperare la cronologia delle transazioni del conto e risolvere i saldi errati in più transazioni che si verificano nello stesso blocco.

È possibile utilizzare l'API GetAccountTransactionHistoryWithFiltersFromRichHistDB per recuperare la cronologia delle transazioni del conto dal database Rich History. Quando si passano i parametri custom_endpoint e bearer_token al metodo, la cronologia delle transazioni del conto viene recuperata dal database Rich History o dal database di stato.
Per recuperare la cronologia delle transazioni dal database Rich History, è necessario eseguire Oracle Autonomous Database con Oracle REST Data Services (ORDS) e OAuth abilitati.
  1. Abilitare e configurare il database Rich History.
    Per ulteriori informazioni, vedere Abilita e configura il database della cronologia avanzata in Uso di Oracle Blockchain Platform.
  2. Abilita una cronologia completa sui canali che contengono i dati del codice concatenato che desideri scrivere nel database della cronologia completa. Per ulteriori informazioni, vedere Configurare i canali che scrivono i dati nel database Rich History in Uso di Oracle Blockchain Platform.
  3. Scaricare e installare Node.js versione 18 o successiva.
  4. Nella pagina Asset digitali in Oracle Blockchain Platform, selezionare Applicazione CBDC all'ingrosso.
  5. Fare clic su Scarica il package Definizioni viste database.
  6. Estrarre il file WholesaleCBDCViewsPackage.zip.
  7. Passare alla cartella ORDSscript e installare le dipendenze richieste eseguendo il comando seguente.
    npm install
  8. Modificare il file .env fornito con lo script per configurarlo per l'ambiente in uso.
    Gli endpoint Oracle REST Data Services utilizzano il formato generale riportato di seguito.
    <base_URL>/<user_name>/<resource_link>
    Ambiente/tipo di configurazione Variabili di ambiente/configurazione Descrizione Esempio
    DB Connection CONNECTION_STRING La stringa di connessione per il database.
    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 Nome della vista per la visualizzazione dei dettagli della transazione conto. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. VIEW_NAME="viewTest"
    View Configuration CHAINCODE_NAME Nome del codice concatenato da cui recuperare i dettagli della transazione nel database della cronologia RTF. CHAINCODE_NAME="BondMarketplace"
    View Configuration INSTANCE_NAME Nome dell'istanza in cui viene distribuito il codice concatenato. INSTANCE_NAME="BondMarketplace"
    View Configuration CHANNEL_NAME Nome del canale in cui viene distribuito il codice concatenato. CHANNEL_NAME="default"
    ORDS Endpoint Setup MODULE_NAME Nome del modulo ORDS da utilizzare. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. MODULE_NAME="demotest"
    ORDS Endpoint Setup BASE_PATH Percorso di base dell'URL ORDS. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. BASE_PATH="demotest"
    ORDS Endpoint Setup PATTERN Nome del pattern dell'URL ORDS. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. PATTERN="accountTransactionDetails"
    ORDS Endpoint Setup ITEMS_PER_PAGE Numero di elementi da visualizzare per pagina nei risultati della query ORDS. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. ITEMS_PER_PAGE=120
    ORDS REST Endpoint ORDS_REST_BASE_URL URL di base dell'endpoint REST ORDS del database. ORDS_REST_BASE_URL="https://g536390e55ee33f4_db_high.adg.ap-sydney-1.example.com"
    Alias Configuration ALIAS_NAME L'alias da utilizzare al posto di un nome utente nell'URL dell'endpoint REST. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. ALIAS_NAME="demotestAlias"
    ORDS Role ROLE_NAME Il ruolo ORDS assegnato all'utente. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. ROLE_NAME="demotest_role"
    ORDS Privilege PRIVILEGE_NAME Il privilegio ORDS assegnato all'utente. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. PRIVILEGE_NAME="demotest_priv"
    ORDS Privilege LABEL Etichetta per il privilegio ORDS. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. LABEL="demotest_label"
    ORDS Privilege DESCRIPTION Descrizione del privilegio ORDS. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. DESCRIPTION="demotest_description"
    OAuth Configuration CLIENT_NAME Nome client da utilizzare per l'autenticazione OAuth con l'endpoint REST ORDS. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. CLIENT_NAME="demotest_client"
    OAuth Configuration OWNER Nome del proprietario da utilizzare per l'autenticazione OAuth con l'endpoint REST ORDS. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. OWNER="demotest"
    OAuth Configuration DESCRIPTION Una descrizione della configurazione OAuth. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. DESCRIPTION="demotest_description"
    OAuth Configuration SUPPORT_EMAIL Indirizzo e-mail di supporto per la configurazione OAuth. Può trattarsi di qualsiasi valore che non sia in conflitto con gli asset esistenti nel database. SUPPORT_EMAIL="test@example.com"

    I nomi delle viste Analytics sono inclusi nel codice software. La vista Account è ACCOUNTS_MOD. La vista transazione è TRANSACTION_MOD. La vista transazione conti è ACCOUNTS_TRANSACTION_MOD.

  9. Eseguire lo script ORDS utilizzando il comando seguente.
    npm run start --username='<username>' --password='<password>'

    In questo esempio, <username> e <password> sono le credenziali per il database Rich History, che deve disporre delle autorizzazioni necessarie per creare la vista e l'endpoint ORDS. Il nome utente e la password devono essere racchiusi tra virgolette singole (') a causa di limitazioni nell'interfaccia bash.

    Quando viene eseguito il comando, vengono visualizzate le seguenti richieste.
    Do you want to create the View and ORDS Endpoint? (y/n)
    Immettere y per creare la vista e l'endpoint. Immettere n se la vista e l'endpoint sono già stati creati.
    Please select the language of your chaincode? (TS/GO)
    Se è stato immesso y in precedenza, immettere TS per TypeScript o GO per Vai.
    Do you want to generate ORDS Endpoint URL and Bearer Token? (y/n)
    Immettere y per generare le credenziali dell'endpoint. Altrimenti, immettere n.
Potrebbe essere visualizzato il seguente errore.
Error: ORA-20049: Cannot alter the URL mapping while the schema is enabled. Try disabling the schema first.
Questo errore si verifica perché lo schema di database è abilitato e pertanto non può essere mappato al diverso alias specificato nel file .env.
Per ovviare a questo comportamento, procedere come segue.
  1. Utilizzare lo stesso nome alias utilizzato in precedenza oppure verificare l'alias dello schema nei servizi REST del database.
  2. Disabilitare lo schema di database ed eseguire di nuovo lo script. Per ulteriori informazioni, vedere Oracle REST Data Services (ORDS): Uso di SQL Developer.