Wholesale CBDC Deployment-Referenz
Die folgenden Informationen enthalten Beschreibungen der Datenbankobjekte, die vom ORDS-Skript erstellt werden, sowie Tipps zur Fehlerbehebung.
Das ORDS-Skript erstellt die folgenden Betriebsansichten mit dem konfigurierten Parameter VIEW_PREFIX.
<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_VWenn Sie "Analysen" auswählen, werden die folgenden Analyseansichten für das Deployment erstellt.
<VIEW_PREFIX>_ACCOUNTS_MOD
<VIEW_PREFIX>_TRANSACTION_MOD
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MODDas Skript erstellt oder konfiguriert außerdem die ORDS-Modul-, Routen-, Schemaalias-, Rollen-, Berechtigungs-, OAuth-Client- und Clientrollenzuordnung mit den konfigurierten Werten.
Katalog- und Abfragelogik anzeigen
Die folgenden Views sind normale Oracle-Views im ausgewählten Schema. Sie ändern die Extrakttabellen nicht.
| Anzeigen | Primäre Quelle | Zweck/Logik |
|---|---|---|
<VIEW_PREFIX>_ACCOUNTS_V |
_more, _store_state |
Erstellt das aktuelle Accountverzeichnis aus createAccount-Aufrufen und Account-/Tokenstatus. Es löst Konto-, Benutzer- und Organisationsidentität, Salden, Salden, Status, Tageslimits, Token-Metadaten und Metadaten für Erstellungstransaktionen auf.
|
<VIEW_PREFIX>_TRANSFER_EVENTS_V |
_more |
Normalisiert Token-Empfangslogs in Übertragungsereigniszeilen. Es extrahiert Absender-, Empfänger-, Betrags-, Funktions-, Block-/Transaktionsmetadaten und optionalen ~OBPRPCTX~.value.category-Kontext.
|
<VIEW_PREFIX>_HOLDS_V |
_store_hist, _more, _store_state |
Rekonstruiert Minz-, Brand- und Transfer-Hold-Datensätze. Es extrahiert Vorgangs-/Einbehaltungs-ID, Konten, Notar, Betrag, Ablauf, Token, Kategorie, Beschreibung und den letzten Lebenszyklusstatus. Außerdem werden Fallback-Zeilen bereitgestellt, wenn eine aktuelle Statuszeile nicht aufgelöst werden kann. |
<VIEW_PREFIX>_ACTIVE_ROLES_V |
_more |
Wendet die Historie zum Hinzufügen/Entfernen von Rollen an und gibt die letzte aktive Rollenzuweisung pro Firma und Rolle zurück. |
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V |
Die vorhergehenden Betriebsansichten | Erstellt kontobasierte Transaktionshistorienzeilen, einschließlich beider Seiten von Transfers und normalisierter mint/burn/hold-Lebenszyklusresultate. Sie bereichert aus/zu Identitäten aus der Ansicht _ACCOUNTS_V.
|
<VIEW_PREFIX>_ACCOUNT_HISTORY_V |
_more, _ACCOUNTS_V |
Erstellt die Kontokonfigurationshistorie aus Kontokontraktmutationen, einschließlich täglicher Limitrevisionen, Zeitstempeln, Blocknummern und Transaktions-IDs. |
<VIEW_PREFIX>_ACCOUNTS_MOD (optionale Analysen)
|
_ACCOUNTS_V |
Zeigt Accountmetadaten in der mit Analysen kompatiblen Accountausprägung an. |
<VIEW_PREFIX>_TRANSACTION_MOD (optionale Analysen)
|
_TRANSFER_EVENTS_V, _HOLDS_V, _store_hist |
Stellt normalisierte Geschäftstransaktionen bereit, einschließlich Transfer-, Mint-, Burn-, Request-, Hold-, Freigabe- und resultierenden Salden, sofern verfügbar. |
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MOD (optionale Analysen)
|
_TRANSACTION_MOD, _ACCOUNTS_V |
Fügt Quell- und Zielorganisationskontext zu Analysetransaktionsdatensätzen hinzu. |
ORDS-Routen
Alle Routen sind GET-Routen unter <BASE_PATH>/ und erfordern ein OAuth-Bearer-Token. ORDS gibt einen Collection-Envelope zurück. Ein leeres items-Array mit HTTP 200 bedeutet, dass die Anforderung gültig war, aber keine übereinstimmenden indizierten Datensätze hatte.
| Route | Nutzungs- und Antwortverhalten | Erforderliche Eingaben | Optionale Eingaben und Standardverhalten |
|---|---|---|---|
getCBDCTransactionById |
Gibt einen normalisierten Detaildatensatz für die Buchtransaktion zurück. | token_id identifiziert das WCBDC-Token; transaction_id ist der abzurufende Besu-Transaktions-Hash/Identifier.
|
Keine. Keine übereinstimmende Transaktion gibt ein leeres Set zurück. |
getCBDCAccountTransactionHistoryWithFilters |
Gibt die Historie für den Account zurück, der durch seine Geschäftsidentität identifiziert wird. | token_id gibt das Token an; org_id identifiziert die Organisation; user_id gibt den Accountbenutzer an.
|
startTime und endTime beschränken den Zeitraum; ausgelassen bedeutet keine untere/obere Zeitgrenze. bookmark ist der nullbasierte Offset; ausgelassen bedeutet 0. pageSize ist die Anzahl der angeforderten Zeilen; ausgelassen wird der Handler-Standard verwendet.
|
getAllCBDCAccountTransactionHistoryWithFilters |
Gibt die tokenweite Kontotransaktionshistorie zurück. | token_id identifiziert das Token.
|
startTime, endTime, bookmark und pageSize verhalten sich wie für die kontospezifische Historienroute.
|
getCBDCAccountStatusHistory |
Gibt indizierte Statushistorienzeilen für ein Geschäftskonto zurück. | token_id, org_id und user_id geben den Account an.
|
Keine. Kein übereinstimmendes Konto/keine übereinstimmende Historie gibt eine leere Sammlung zurück. |
getApproverActionHistory |
Gibt Mint-/Burn-Entscheidungen und endgültige Übertragungssperrenaktionen zurück. executeHold wird ausgeführt. releaseHold wird abgelehnt.
|
token_id begrenzt die Ergebnisse auf das Token.
|
caller_account_id ist die Wallet-Adresse des Managers/Genehmigers. Lassen Sie es aus, um Aktionen von allen Akteuren zurückzugeben; stellen Sie es bereit, nur die Aktionen dieser Brieftasche zurückzugeben. Es handelt sich um einen Datenbereichsfilter, nicht um eine Autorisierung.
|
getTokenHistory |
Gibt die Historie auf Tokenebene und lieferantenbezogene Informationen zurück. | token_id identifiziert das Token.
|
Keine. |
getCBDCAccountsByRole |
Gibt Accounts zurück, die einer Rolle zugeordnet sind. | role ist der zuzuordnende Rollenname.
|
Keine; das Ergebnis wird nicht nach dieser Route gefiltert. |
getUsersByRole |
Gibt Benutzer-/Accountrollenzuweisungen für eine Rolle zurück. | role ist der zuzuordnende Rollenname.
|
Keine. |
getOrgAccountsByRole |
Gibt Konten in einer Organisation zurück, die eine Rolle haben | org_id gibt die Organisation an; role ist der Rollenname.
|
Keine. |
getAllCBDCAccounts |
Gibt alle indexierten Konten für ein Token zurück. | token_id identifiziert das Token.
|
Keine. |
getAllActiveCBDCAccounts |
Gibt indizierte Konten mit dem aktuellen Status "Aktiv" zurück. | token_id identifiziert das Token.
|
Keine. |
getAllSuspendedCBDCAccounts |
Gibt indizierte Konten zurück, deren aktueller Status ausgesetzt ist. | token_id identifiziert das Token.
|
Keine. |
getAllOrgAccounts |
Gibt alle indexierten Konten in einer Organisation zurück. | org_id gibt die Organisation an.
|
Keine; das Ergebnis wird nicht nach dieser Route gefiltert. |
getPendingCBDCIssuance |
Gibt nur aktuelle ausstehende Transfersperrenvorgänge zurück. Terminal-, ausgeführte, abgelehnte und freigegebene Vorgänge sind ausgeschlossen. | token_id identifiziert das Token.
|
caller_account_id ist das Notar-/Manager-Wallet. Lassen Sie sie für die vollständige ausstehende Queue aus. Geben Sie an, dass sie nur Sperren zurückgibt, die diesem Wallet zugewiesen sind.
|
getPendingCBDCRequest |
Gibt nur aktuelle ausstehende Mint-/Verbrennungsanforderungen zurück. | token_id identifiziert das Token. request_type wählt den unterstützten Anforderungstyp aus, wie mint oder burn.
|
Keine. Genehmigte oder abgelehnte Anforderungen werden ausgeschlossen. |
getPendingRequest |
Kompatibilitätsweiterleitung für denselben Anwendungsfall für ausstehende Anforderungen. | token_id und request_type haben dieselbe Bedeutung wie getPendingCBDCRequest |
Keine. |
getCBDCAccountsByUser |
Gibt Firmendatensätze für eine Kombination aus Organisation/Benutzer/Token zurück. | token_id, org_id und user_id geben den Accounteigentümer und das Token an.
|
Keine. |
getCBDCAccountHistory |
Gibt Kontokonfigurations-/Historienrevisionen zurück. | account_address ist die Blockchain-Konto-/Walletadresse.
|
offset ist der nullbasierte Zeilen-Offset. Weglassen Sie dies für die erste Seite. limit ist die maximale Zeilenanzahl. Weglassen Sie die Verwendung des SQL-Handler-Standards.
|
getCBDCAccountStatus |
Gibt den aktuellen indizierten Kontostatus zurück. | token_id, org_id und user_id geben den Account an.
|
Keine. |
getRolesByAccount |
Gibt Rollen für einen gelösten Account zurück. | token_id ist immer erforderlich. Geben Sie entweder account_address (die Blockchain-Konto-/Walletadresse) oder den kombinierten Geschäfts-Lookup org_id und user_id an.
|
Wenn account_address angegeben wird, handelt es sich um den Direktkontofilter. Andernfalls verwendet die Route org_id und user_id. Wenn kein Lookup ein Konto auflöst, ist die Antwort leer.
|
getAllRegisteredOrgs |
Gibt Organisationen zurück, die durch indexierte Accounts für ein Token dargestellt werden. | token_id identifiziert das Token.
|
Keine. |
getCBDCMetadata |
Gibt indizierte unveränderliche Tokenmetadaten zurück. | token_id identifiziert das Token.
|
Keine. |
getCBDCRetiredQuantity |
Gibt Informationen zur stillgelegten/verbrannten Menge für ein Token zurück. | token_id identifiziert das Token.
|
Keine. |
Paginierung und Zeitstempel: Für die beiden Historienrouten, die die Parameter bookmark und pageSize unterstützen, ist der Parameter bookmark ein nullbasierter Zeilenoffset und der Parameter pageSize ein Kamelfall. Lassen Sie einen der beiden Werte aus, um den Handler-Standardwert zu verwenden. Wenn die Parameter startTime und endTime angegeben sind, verwenden Sie den ISO-8601-Zeitstempeltext im Format YYYY-MM-DDTHH:MI:SS+/-HH:MI.
Endpunktbestand: Der genaue Routenbestand gehört zur Skriptversion, die für das Deployment verpackt ist. Verwenden Sie nach der Ausführung den ORDS OpenAPI-Katalog oder die generierte Endpunktausgabe als autoritative Liste für die Clientanwendung.
Fehlerbehebung
| Meldung oder Bedingung | Lösung |
|---|---|
NJS-516: no configuration directory set |
Ein TNS-Alias wurde ohne zugängliches Wallet-/Konfigurationsverzeichnis verwendet. Extrahieren Sie das Wallet, und konfigurieren Sie den Oracle-Client so, dass die Datei tnsnames.ora verfügbar ist.
|
NJS-511 oder ORA-12506 |
Listener, Endpunkt, Servicename, Netzwerkausnahmeliste oder Wallet-Konfigurationsproblem. Validieren Sie die Oracle-Verbindung außerhalb des Skripts mit dem DBA. |
| OAuth-Tokenanforderung gibt 404 zurück | Prüfen Sie den genauen Alias in /ords/<ALIAS_NAME>/oauth/token. Der Alias ist nicht unbedingt der Oracle-Benutzername.
|
| Endpunkt gibt 401 zurück | Rufen Sie ein neues Token ab, und prüfen Sie, ob dem OAuth-Client die Rolle/Berechtigung zugewiesen ist, die mit dem konfigurierten Modulbasispfad verknüpft ist. |
| Endpunkt gibt 404 zurück | Prüfen Sie Host, Alias, Basispfad, Routenname und die Veröffentlichung des Moduls. |
ORDS-25001 |
Der Endpunkt hat ORDS erreicht, seine SQL ist jedoch nicht erfolgreich. Prüfen Sie das Tabellenpräfix, die Vertragsadressen, die Quelldatenausprägung und die erforderlichen Anforderungsparameter. |
ORA-20049: Cannot alter the URL mapping while the schema is enabled |
Die ausgewählte ALIAS_NAME steht in Konflikt mit einer aktivierten Schemazuordnung. Verwenden Sie den vorhandenen Alias des Schemas erneut, oder lassen Sie den ORDS-Administrator die genehmigte Prozedur zum Deaktivieren/Entfernen/Aktivieren abschließen, bevor Sie das Skript erneut ausführen.
|
| Ansichten enthalten keine Zeilen | Bestätigen Sie, dass während der Instanzerstellung das richtige Rich-History-Profil ausgewählt wurde, das Tabellenpräfix genau ist, Vertragsadressen mit den bereitgestellten Proxys übereinstimmen und Transaktionen indiziert wurden. |
| Objekte stehen in Konflikt mit einem anderen Deployment | Verwenden Sie eine eindeutige VIEW_PREFIX, einen Modulnamen, einen Basispfad, eine Rolle, eine Berechtigung, einen OAuth-Clientnamen und einen Alias.
|