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_V

Wenn 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_MOD

Das 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.