Riferimento distribuzione CBDC all'ingrosso
Di seguito sono riportate le descrizioni degli oggetti di database creati dallo script ORDS e i suggerimenti per la risoluzione dei problemi.
Lo script ORDS crea le viste operative riportate di seguito utilizzando il parametro VIEW_PREFIX configurato.
<VIEW_PREFIX>_ACCOUNTS_V
<VIEW_PREFIX>_TRANSFER_EVENTS_V
<VIEW_PREFIX>_HOLDS_V
<VIEW_PREFIX>_ACTIVE_ROLES_V
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V
<VIEW_PREFIX>_ACCOUNT_HISTORY_VSe si seleziona Analytics, vengono create le viste di analitica riportate di seguito, con ambito per la distribuzione.
<VIEW_PREFIX>_ACCOUNTS_MOD
<VIEW_PREFIX>_TRANSACTION_MOD
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MODLo script inoltre crea o configura l'associazione modulo, instradamenti, alias di schema, ruolo, privilegio, client OAuth e ruolo client ORDS utilizzando i valori configurati.
Visualizza logica catalogo e query
Le viste seguenti sono viste Oracle ordinarie nello schema selezionato e non modificano le tabelle di estrazione.
| Visualizza | Origine primaria | Scopo/logica |
|---|---|---|
<VIEW_PREFIX>_ACCOUNTS_V |
_more, _store_state |
Genera la directory dell'account corrente dalle chiamate createAccount e dallo stato account/token. Risolve l'identità dell'account, dell'utente e dell'organizzazione, i saldi, i saldi di blocco, lo stato, i limiti giornalieri, i metadati dei token e i metadati delle transazioni di creazione.
|
<VIEW_PREFIX>_TRANSFER_EVENTS_V |
_more |
Normalizza i log delle ricevute dei token nelle righe degli eventi di trasferimento. Estrae i metadati di mittente, destinatario, importo, funzione, blocco/transazione e contesto ~OBPRPCTX~.value.category facoltativo.
|
<VIEW_PREFIX>_HOLDS_V |
_store_hist, _more, _store_state |
Ricostruisce i record di menta, masterizzazione e trasferimento. Estrae l'ID operazione/contenuta, i conti, il notaio, l'importo, la scadenza, il token, la categoria, la descrizione e lo stato del ciclo di vita più recente. Fornisce inoltre righe di fallback quando una riga dello stato corrente non è risolvibile. |
<VIEW_PREFIX>_ACTIVE_ROLES_V |
_more |
Applica la cronologia di aggiunta/rimozione dei ruoli e restituisce l'assegnazione dei ruoli attivi più recente per account e ruolo. |
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V |
Le viste operative precedenti | Produce righe relative alla cronologia delle transazioni per conto, inclusi entrambi i lati dei trasferimenti e risultati del ciclo di vita mint/burn/hold normalizzati. Arricchisce le identità da/a dalla vista _ACCOUNTS_V.
|
<VIEW_PREFIX>_ACCOUNT_HISTORY_V |
_more, _ACCOUNTS_V |
Genera la cronologia della configurazione dell'account dalle mutazioni dei contratti account, incluse le revisioni dei limiti giornalieri, gli indicatori orari, i numeri di blocco e gli ID transazione. |
<VIEW_PREFIX>_ACCOUNTS_MOD (analitica facoltativa)
|
_ACCOUNTS_V |
Mostra i metadati del conto nella forma del conto compatibile con l'analitica. |
<VIEW_PREFIX>_TRANSACTION_MOD (analitica facoltativa)
|
_TRANSFER_EVENTS_V, _HOLDS_V, _store_hist |
Espone transazioni aziendali normalizzate, tra cui trasferimento, menta, masterizzazione, richiesta, blocco, rilascio e saldi risultanti, ove disponibili. |
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MOD (analitica facoltativa)
|
_TRANSACTION_MOD, _ACCOUNTS_V |
Aggiunge il contesto dell'organizzazione di origine e di destinazione ai record delle transazioni di analitica. |
Instradamenti ORDS
Tutti gli instradamenti sono GET in <BASE_PATH>/ e richiedono un token OAuth bearer. ORDS restituisce un involucro di raccolta. Un array items vuoto con HTTP 200 indica che la richiesta era valida ma non disponeva di record indicizzati corrispondenti.
| Instradamento | Funzionamento uso e risposta | Input richiesti | Input facoltativi e comportamento predefinito |
|---|---|---|---|
getCBDCTransactionById |
Restituisce un record dettagli libro contabile-transazione normalizzato. | token_id identifica il token WCBDC; transaction_id è l'hash/identificativo della transazione Besu da recuperare.
|
Nessuna. Nessuna transazione corrispondente restituisce un insieme vuoto. |
getCBDCAccountTransactionHistoryWithFilters |
Restituisce la cronologia dell'account identificato dalla relativa identità aziendale. | token_id identifica il token; org_id identifica l'organizzazione; user_id identifica l'utente dell'account.
|
startTime e endTime limitano l'intervallo di tempo; omesso significa nessun limite di tempo inferiore/superiore. bookmark è l'offset basato su zero; omesso significa 0. pageSize è il numero di righe richieste; omesso utilizza l'impostazione predefinita dell'handler.
|
getAllCBDCAccountTransactionHistoryWithFilters |
Restituisce la cronologia delle transazioni del conto a livello di token. | token_id identifica il token.
|
startTime, endTime, bookmark e pageSize si comportano come per l'instradamento cronologia specifico dell'account.
|
getCBDCAccountStatusHistory |
Restituisce le righe stato-cronologia indicizzate per un conto aziendale. | token_id, org_id e user_id identificano l'account.
|
Nessuna. Nessun conto/cronologia corrispondente restituisce una raccolta vuota. |
getApproverActionHistory |
Restituisce le decisioni mint/burn e le azioni finali del blocco di trasferimento. Viene eseguito executeHold; releaseHold viene rifiutato.
|
token_id limita i risultati al token.
|
caller_account_id è l'indirizzo del wallet manager/approvatore. Omettile di restituire le azioni di tutti gli attori; forniscile di restituire solo le azioni di quel portafoglio. Si tratta di un filtro di ambito dati, non di un'autorizzazione.
|
getTokenHistory |
Restituisce la cronologia a livello di token e le informazioni relative alla fornitura. | token_id identifica il token.
|
Nessuna. |
getCBDCAccountsByRole |
Restituisce i conti associati a un ruolo. | role è il nome del ruolo che deve corrispondere.
|
Nessuno; il risultato non è filtrato con token da questo percorso. |
getUsersByRole |
Restituisce le assegnazioni di ruoli utente/account per un ruolo. | role è il nome del ruolo che deve corrispondere.
|
Nessuna. |
getOrgAccountsByRole |
Restituisce i conti di un'organizzazione con un ruolo | org_id identifica l'organizzazione; role è il nome del ruolo.
|
Nessuna. |
getAllCBDCAccounts |
Restituisce tutti i conti indicizzati per un token. | token_id identifica il token.
|
Nessuna. |
getAllActiveCBDCAccounts |
Restituisce i conti indicizzati il cui stato corrente è attivo. | token_id identifica il token.
|
Nessuna. |
getAllSuspendedCBDCAccounts |
Restituisce i conti indicizzati il cui stato corrente è sospeso. | token_id identifica il token.
|
Nessuna. |
getAllOrgAccounts |
Restituisce tutti i conti indicizzati in un'organizzazione. | org_id identifica l'organizzazione.
|
Nessuno; il risultato non è filtrato con token da questo percorso. |
getPendingCBDCIssuance |
Restituisce solo le operazioni di trasferimento in sospeso correnti; le operazioni terminali, eseguite, rifiutate e rilasciate sono escluse. | token_id identifica il token.
|
caller_account_id è il wallet notary/manager. Ometterlo per la coda in sospeso completa; fornirlo per restituire solo i blocchi assegnati a quel wallet.
|
getPendingCBDCRequest |
Restituisce solo le richieste mint/burn in sospeso correnti. | token_id identifica il token; request_type seleziona il tipo di richiesta supportato, ad esempio mint o burn.
|
Nessuna. Le richieste approvate o rifiutate sono escluse. |
getPendingRequest |
Instradamento di compatibilità per lo stesso caso d'uso in attesa di richiesta. | token_id e request_type hanno lo stesso significato di getPendingCBDCRequest |
Nessuna. |
getCBDCAccountsByUser |
Restituisce i record di conto per una combinazione organizzazione/utente/token. | token_id, org_id e user_id identificano il proprietario e il token dell'account.
|
Nessuna. |
getCBDCAccountHistory |
Restituisce le revisioni di configurazione/cronologia del conto. | account_address è l'indirizzo dell'account/wallet blockchain.
|
offset è l'offset di riga basato su zero; omettere per la prima pagina. limit è il conteggio massimo di righe; omettere di utilizzare l'impostazione predefinita dell'handler SQL.
|
getCBDCAccountStatus |
Restituisce lo stato del conto indicizzato corrente. | token_id, org_id e user_id identificano l'account.
|
Nessuna. |
getRolesByAccount |
Restituisce i ruoli per un conto risolto. | token_id è sempre obbligatorio. Fornire account_address (l'indirizzo dell'account/wallet blockchain) o la ricerca aziendale combinata org_id e user_id.
|
Se viene fornito account_address è il filtro dell'account diretto, altrimenti l'instradamento utilizza org_id e user_id. Se nessuno dei due lookup risolve un account, la risposta è vuota.
|
getAllRegisteredOrgs |
Restituisce le organizzazioni rappresentate da conti indicizzati per un token. | token_id identifica il token.
|
Nessuna. |
getCBDCMetadata |
Restituisce i metadati di token immutabili indicizzati. | token_id identifica il token.
|
Nessuna. |
getCBDCRetiredQuantity |
Restituisce le informazioni sulla quantità ritirata/bruciata per un token. | token_id identifica il token.
|
Nessuna. |
Impaginazione e indicatori orari: per i due percorsi della cronologia che supportano i parametri bookmark e pageSize, il parametro bookmark è un offset di riga basato su zero e il parametro pageSize è un caso di cammello. Omettere uno dei valori per utilizzare il valore predefinito dell'handler. I parametri startTime e endTime, se forniti, utilizzano il testo dell'indicatore orario ISO-8601 nel formato YYYY-MM-DDTHH:MI:SS+/-HH:MI.
Inventario degli endpoint: l'inventario di instradamento esatto appartiene alla versione dello script inclusa nel package per la distribuzione. Dopo l'esecuzione, utilizzare il catalogo ORDS OpenAPI o l'output dell'endpoint generato come lista affidabile per l'applicazione client.
Risoluzione dei problemi
| Messaggio o condizione | Risoluzione |
|---|---|
NJS-516: no configuration directory set |
È stato utilizzato un alias TNS senza una directory di wallet/configurazione accessibile. Estrarre il wallet e configurare il client Oracle in modo che il file tnsnames.ora sia disponibile.
|
NJS-511 o ORA-12506 |
Problema di configurazione del listener, dell'endpoint, del nome del servizio, della lista di inclusione di rete o del wallet. Convalidare la connessione Oracle al di fuori dello script con il DBA. |
| La richiesta di token OAuth restituisce 404 | Verificare l'alias esatto in /ords/<ALIAS_NAME>/oauth/token. L'alias non è necessariamente il nome utente Oracle.
|
| L'endpoint restituisce 401 | Ottenere un nuovo token e verificare che al client OAuth sia associato il ruolo o il privilegio con il percorso di base del modulo configurato. |
| L'endpoint restituisce 404 | Verificare host, alias, percorso di base, nome instradamento e che il modulo sia pubblicato. |
ORDS-25001 |
L'endpoint ha raggiunto ORDS, ma l'istruzione SQL relativa non è riuscita. Verificare il prefisso della tabella, gli indirizzi del contratto, la forma dei dati di origine e i parametri di richiesta obbligatori. |
ORA-20049: Cannot alter the URL mapping while the schema is enabled |
Il file ALIAS_NAME scelto è in conflitto con un mapping di schema abilitato. Riutilizzare l'alias esistente dello schema oppure chiedere all'amministratore ORDS di completare la procedura di disabilitazione/rimappatura/abilitazione approvata prima di eseguire di nuovo lo script.
|
| Le viste non contengono righe | Verificare che durante la creazione dell'istanza sia stato selezionato il profilo rich history corretto, che il prefisso della tabella sia esatto, che gli indirizzi del contratto corrispondano ai proxy distribuiti e che le transazioni siano state indicizzate. |
| Oggetti in conflitto con un'altra distribuzione | Utilizzare un VIEW_PREFIX distinto, nome del modulo, percorso di base, ruolo, privilegio, nome client OAuth e alias.
|