Wholesale - Référence de déploiement CBDC
Les informations suivantes incluent des descriptions des objets de base de données créés par le script ORDS et des conseils de résolution des incidents.
Le script ORDS crée les vues opérationnelles suivantes à l'aide du paramètre VIEW_PREFIX configuré.
<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_VSi vous sélectionnez des analyses, les vues d'analyse suivantes sont créées et ciblées sur le déploiement.
<VIEW_PREFIX>_ACCOUNTS_MOD
<VIEW_PREFIX>_TRANSACTION_MOD
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MODLe script crée ou configure également le module ORDS, les routes, l'alias de schéma, le rôle, le privilège, le client OAuth et l'association client-rôle à l'aide des valeurs configurées.
Afficher la logique de catalogue et de requête
Les vues suivantes sont des vues Oracle ordinaires du schéma sélectionné. Elles ne modifient pas les tables d'extraction.
| Voir | Source primaire | Objectif/Logique |
|---|---|---|
<VIEW_PREFIX>_ACCOUNTS_V |
_more, _store_state |
Crée le répertoire de compte actuel à partir des appels createAccount et de l'état de compte/jeton. Il résout les identités de compte, d'utilisateur et d'organisation, les soldes, les soldes de blocage, le statut, les limites quotidiennes, les métadonnées de jeton et les métadonnées de transaction de création.
|
<VIEW_PREFIX>_TRANSFER_EVENTS_V |
_more |
Normalise les journaux de réception de jeton dans les lignes d'événement de transfert. Il extrait les métadonnées d'expéditeur, de destinataire, de montant, de fonction, de bloc/transaction et le contexte ~OBPRPCTX~.value.category facultatif.
|
<VIEW_PREFIX>_HOLDS_V |
_store_hist, _more, _store_state |
Reconstruit les enregistrements de menthe, de brûlure et de transfert. Il extrait l'ID opération/de retenue, les comptes, le notaire, le montant, l'expiration, le jeton, la catégorie, la description et le dernier statut du cycle de vie. Il fournit également des lignes de secours lorsqu'une ligne d'état en cours ne peut pas être résolue. |
<VIEW_PREFIX>_ACTIVE_ROLES_V |
_more |
Applique l'historique d'ajout/de suppression de rôle et renvoie la dernière affectation de rôle active par compte et rôle. |
<VIEW_PREFIX>_ACCOUNT_TX_HISTORY_V |
Les vues opérationnelles précédentes | Génère des lignes d'historique des transactions orientées compte, y compris les deux côtés des transferts et les résultats normalisés du cycle de vie ment/brûlure/bloqué. Il enrichit les identités à partir de/vers la vue _ACCOUNTS_V.
|
<VIEW_PREFIX>_ACCOUNT_HISTORY_V |
_more, _ACCOUNTS_V |
Génère l'historique de configuration des comptes à partir des mutations des contrats de compte, y compris les révisions quotidiennes des limites, les horodatages, les numéros de bloc et les ID de transaction. |
<VIEW_PREFIX>_ACCOUNTS_MOD (analyse facultative)
|
_ACCOUNTS_V |
Affiche les métadonnées de compte dans la forme de compte compatible avec les analyses. |
<VIEW_PREFIX>_TRANSACTION_MOD (analyse facultative)
|
_TRANSFER_EVENTS_V, _HOLDS_V, _store_hist |
Présente les transactions commerciales normalisées, notamment les soldes de transfert, de menthe, d'épuisement, de demande, de blocage, de déblocage et les soldes résultants, le cas échéant. |
<VIEW_PREFIX>_ACCOUNTS_TRANSACTION_MOD (analyse facultative)
|
_TRANSACTION_MOD, _ACCOUNTS_V |
Ajoute le contexte de l'organisation source et de destination aux enregistrements de transaction d'analyse. |
Itinéraires ORDS
Toutes les routes sont des routes GET sous <BASE_PATH>/ et nécessitent un jeton de support OAuth. ORDS renvoie une enveloppe de collection ; un tableau items vide avec HTTP 200 signifie que la demande était valide mais ne comportait aucun enregistrement indexé correspondant.
| Itinéraire | Utilisation et comportement des réponses | Entrées obligatoires | Entrées facultatives et comportement par défaut |
|---|---|---|---|
getCBDCTransactionById |
Renvoie un enregistrement de détail de transaction de livre normalisé. | token_id identifie le jeton WCBDC ; transaction_id est l'identifiant/le hachage de transaction Besu à extraire.
|
Aucun. Aucune transaction correspondante ne renvoie un ensemble vide. |
getCBDCAccountTransactionHistoryWithFilters |
Renvoie l'historique du compte identifié par son identité professionnelle. | token_id identifie le jeton ; org_id identifie l'organisation ; user_id identifie l'utilisateur du compte.
|
startTime et endTime limitent la période ; omis signifie qu'il n'y a pas de limite de temps inférieure/supérieure. bookmark est le décalage basé sur zéro ; omis signifie 0. pageSize est le nombre de lignes demandées ; omis utilise la valeur par défaut du gestionnaire.
|
getAllCBDCAccountTransactionHistoryWithFilters |
Renvoie l'historique des transactions de compte à l'échelle du jeton. | token_id identifie le jeton.
|
startTime, endTime, bookmark et pageSize se comportent comme pour le routage d'historique propre au compte.
|
getCBDCAccountStatusHistory |
Renvoie les lignes d'historique de statut indexées pour un compte professionnel. | token_id, org_id et user_id identifient le compte.
|
Aucun. Aucun compte/historique correspondant ne renvoie une collection vide. |
getApproverActionHistory |
Renvoie les décisions mint/burn et les actions finales de blocage du transfert. executeHold est exécuté ; releaseHold est rejeté.
|
token_id limite les résultats au jeton.
|
caller_account_id est l'adresse du portefeuille du responsable/de l'approbateur. Omettez-le de renvoyer les actions de tous les acteurs ; fournissez-lui de renvoyer uniquement les actions de ce portefeuille. Il s'agit d'un filtre de portée de données, et non d'une autorisation.
|
getTokenHistory |
Renvoie l'historique au niveau du jeton et les informations relatives à l'approvisionnement. | token_id identifie le jeton.
|
Aucun. |
getCBDCAccountsByRole |
Renvoie les comptes associés à un rôle. | role est le nom du rôle à mettre en correspondance.
|
Aucun ; le résultat n'est pas filtré par jeton par cette route. |
getUsersByRole |
Renvoie les affectations de rôle utilisateur/compte pour un rôle. | role est le nom du rôle à mettre en correspondance.
|
Aucun. |
getOrgAccountsByRole |
Renvoie les comptes d'une organisation qui ont un rôle | org_id identifie l'organisation ; role est le nom du rôle.
|
Aucun. |
getAllCBDCAccounts |
Renvoie tous les comptes indexés pour un jeton. | token_id identifie le jeton.
|
Aucun. |
getAllActiveCBDCAccounts |
Renvoie les comptes indexés dont le statut actuel est actif. | token_id identifie le jeton.
|
Aucun. |
getAllSuspendedCBDCAccounts |
Renvoie les comptes indexés dont le statut actuel est suspendu. | token_id identifie le jeton.
|
Aucun. |
getAllOrgAccounts |
Renvoie tous les comptes indexés dans une organisation. | org_id identifie l'organisation.
|
Aucun ; le résultat n'est pas filtré par jeton par cette route. |
getPendingCBDCIssuance |
Renvoie uniquement les opérations de transfert en attente ; les opérations de terminal, exécutées, rejetées et libérées sont exclues. | token_id identifie le jeton.
|
caller_account_id est le portefeuille notaire/gestionnaire. Omettez-la pour la file d'attente complète ; indiquez-la pour ne renvoyer que les blocages affectés à ce portefeuille.
|
getPendingCBDCRequest |
Renvoie uniquement les demandes mint/burn en attente. | token_id identifie le jeton. request_type sélectionne le type de demande pris en charge, tel que mint ou burn.
|
Aucun. Les demandes approuvées ou rejetées sont exclues. |
getPendingRequest |
Voie de compatibilité pour le même cas d'utilisation de demande en attente. | token_id et request_type ont la même signification que getPendingCBDCRequest |
Aucun. |
getCBDCAccountsByUser |
Renvoie les enregistrements de compte pour une combinaison organisation/utilisateur/jeton. | token_id, org_id et user_id identifient le propriétaire et le jeton du compte.
|
Aucun. |
getCBDCAccountHistory |
Renvoie la configuration du compte/les révisions de l'historique. | account_address est l'adresse du portefeuille/du compte de chaîne de blocs.
|
offset est le décalage de ligne basé sur zéro ; omettez pour la première page. limit est le nombre maximal de lignes ; omettez d'utiliser la valeur par défaut du gestionnaire SQL.
|
getCBDCAccountStatus |
Renvoie le statut actuel du compte indexé. | token_id, org_id et user_id identifient le compte.
|
Aucun. |
getRolesByAccount |
Renvoie les rôles d'un compte résolu. | token_id est toujours requis. Fournissez account_address (adresse de portefeuille/compte de chaîne de blocs) ou la recherche d'activité combinée org_id et user_id.
|
Si account_address est fourni, il s'agit du filtre de compte direct ; sinon, le routage utilise org_id et user_id. Si aucune des deux recherches ne résout un compte, la réponse est vide.
|
getAllRegisteredOrgs |
Renvoie les organisations représentées par des comptes indexés pour un jeton. | token_id identifie le jeton.
|
Aucun. |
getCBDCMetadata |
Renvoie les métadonnées de jeton non mutables indexées. | token_id identifie le jeton.
|
Aucun. |
getCBDCRetiredQuantity |
Renvoie les informations sur la quantité sortie/brûlée pour un jeton. | token_id identifie le jeton.
|
Aucun. |
Pagination et horodatages : pour les deux routages d'historique qui prennent en charge les paramètres bookmark et pageSize, le paramètre bookmark est un décalage de ligne basé sur zéro et le paramètre pageSize est en majuscules. Omettez l'une ou l'autre des valeurs pour utiliser la valeur par défaut du gestionnaire. Les paramètres startTime et endTime, lorsqu'ils sont fournis, utilisent le texte d'horodatage ISO-8601 au format YYYY-MM-DDTHH:MI:SS+/-HH:MI.
Inventaire des adresses : l'inventaire exact des routages appartient à la version de script packagée pour le déploiement. Après l'exécution, utilisez le catalogue OpenAPI ORDS ou la sortie d'adresse générée comme liste faisant autorité pour l'application client.
Dépannage
| Message ou condition | Résolution |
|---|---|
NJS-516: no configuration directory set |
Un alias TNS a été utilisé sans répertoire de portefeuille/configuration accessible. Extrayez le portefeuille et configurez le client Oracle de sorte que le fichier tnsnames.ora soit disponible.
|
NJS-511 ou ORA-12506 |
Problème de configuration de processus d'écoute, d'adresse, de nom de service, de liste d'autorisation réseau ou de portefeuille. Validez la connexion Oracle en dehors du script avec le DBA. |
| La demande de jeton OAuth renvoie 404 | Vérifiez l'alias exact dans /ords/<ALIAS_NAME>/oauth/token. L'alias n'est pas nécessairement le nom utilisateur Oracle.
|
| L'adresse renvoie 401 | Obtenez un nouveau jeton et vérifiez que le client OAuth dispose du rôle/privilège associé au chemin de base du module configuré. |
| L'adresse renvoie 404 | Vérifiez l'hôte, l'alias, le chemin de base, le nom de la route et que le module est publié. |
ORDS-25001 |
L'adresse a atteint ORDS mais son instruction SQL a échoué. Vérifiez le préfixe de table, les adresses de contrat, la forme des données source et les paramètres de demande requis. |
ORA-20049: Cannot alter the URL mapping while the schema is enabled |
Le paramètre ALIAS_NAME choisi est en conflit avec un mapping de schéma activé. Réutilisez l'alias existant du schéma ou demandez à l'administrateur ORDS de terminer la procédure de désactivation/réparation/activation approuvée avant d'exécuter à nouveau le script.
|
| Les vues ne contiennent aucune ligne | Vérifiez que le profil d'historique enrichi correct a été sélectionné lors de la création de l'instance, que le préfixe de table est exact, que les adresses de contrat correspondent aux proxies déployés et que les transactions ont été indexées. |
| Les objets sont en conflit avec un autre déploiement | Utilisez un élément VIEW_PREFIX, un nom de module, un chemin de base, un rôle, un privilège, un nom de client OAuth et un alias distincts.
|