Flux de travail de l'application CBDC de gros
Après avoir installé et configuré l'exemple d'application CBDC de gros, vous pouvez l'utiliser dans des scénarios où un propriétaire de système (une banque centrale) et des organisations participantes (autres institutions financières) interagissent dans un marché interbancaire.
L'exemple d'application prend en charge onze rôles, ou personas. Chaque rôle dispose d'une interface et d'un jeu d'opérations différents qui prennent en charge l'ensemble du flux de travail de gestion des jetons dans le scénario CBDC de gros.
Rôles de système
- Administrateur système : Gère l'ensemble du système.
- Créateur du système : Crée des jetons. Une fois qu'une demande de création est soumise, elle est envoyée au gestionnaire du système qui approuve ou rejette la demande. Une fois la demande de frappe approuvée, les jetons sont crédités sur le compte du créateur du système. Le créateur peut ensuite transférer ces jetons à un émetteur système.
- Gestionnaire de système : Approuve ou rejette les demandes de frappe, de gravure et de détention de jetons. Les approbations de demandes de blocage sont utilisées pour les transferts entre organisations.
- Émetteur du système : transfère des jetons aux agents des institutions financières ou au système pour les retirer en vue de les brûler. Les utilisateurs de ce rôle reçoivent des jetons du créateur du système et des responsables de l'institution financière. Le gestionnaire de système doit approuver tout transfert entre les organisations.
- Vérificateur de système : A accès en lecture seule à toutes les données organisationnelles du système.
- Système de retrait : Brûle des jetons. Ce rôle reçoit des jetons de l'émetteur du système. Une fois la demande de gravure soumise, elle est envoyée au gestionnaire de système.
Rôles organisationnels
- Administrateur d'organisation : Gère leur organisation spécifique.
- Agent d'organisation : reçoit les jetons de l'émetteur du système. Ils peuvent transférer ces jetons aux utilisateurs de n'importe quelle organisation ou retourner des jetons à l'émetteur du système. Tous les transferts doivent être approuvés par l'approbateur de l'organisation.
- Utilisateur de l'organisation : reçoit des jetons des dirigeants de leurs organisations respectives. Ils peuvent transférer ces jetons aux utilisateurs et aux agents de n'importe quelle organisation. Tous les transferts doivent être approuvés par l'approbateur de l'organisation.
- Gestionnaire d'organisation : Approuve ou rejette les demandes de blocage pour leur organisation spécifique. Les demandes de blocage et les approbations sont utilisées pour tous les transferts entre organisations ou au sein d'organisations.
- Vérificateur de l'organisation : A un accès en lecture seule aux données propres à son organisation.
Intégration
Après avoir installé, configuré et placé l'application dans un emplacement temporaire, effectuez les étapes suivantes pour y accéder.
- Une fois l'application placée dans une table intermédiaire, revenez à la page d'accueil.
- Dans le tableau de bord de l'application, localisez l'application intermédiaire. Le statut est En zone intermédiaire à côté du nom de l'application.
- Cliquez sur le menu déroulant sous En zone intermédiaire et sélectionnez le nom de l'application.
- Copiez le lien ou ouvrez l'application intermédiaire dans un nouvel onglet ou une nouvelle fenêtre du navigateur pour tester et réviser l'application.
En mode générique, tous les comptes sont affichés et suivis par ID utilisateur. En mode confidentiel, les comptes sont affichés et suivis par ID compte bancaire. Les ID comptes bancaires sont des chaînes alphanumériques aléatoires générées lors de la création du compte. En mode confidentiel, l'ID compte bancaire remplace l'ID utilisateur dans l'interface de l'application.
En mode confidentiel, les soldes de compte sont calculés sur demande au moyen d'une méthode de consolidation (consolidateRunningBalanceInTransactions
), définie dans le code de chaîne. Lors de l'exécution de la consolidation, toutes les transactions en attente sont traitées et le solde du compte est mis à jour. Les soldes de comptes ne sont disponibles qu'après l'exécution de la consolidation pour une organisation. Si la consolidation n'a pas été exécutée pour une organisation, les soldes de compte sont affichés comme Rapprochement en attente.
La méthode consolidateRunningBalanceInTransactions
consolide les soldes de compte pour l'organisation de l'appelant. Cette méthode peut être appelée par Token Admin
ou Org Admin
. Les responsables du système doivent s'authentifier à l'aide du compte d'utilisateur SYSTEM_ADMINS
associé au rôle de jeton tokenAdmin
. Les organisations participantes doivent s'authentifier à l'aide de leurs comptes d'utilisateur ORG_ADMINS
respectifs, chacun étant associé au rôle de jeton orgAdmin
.
Pour assurer l'exactitude des soldes de comptes sur l'ensemble du réseau, la méthode de consolidation doit être exécutée à intervalles réguliers. Vous pouvez utiliser le point d'extrémité de l'API REST scheduleTransactions
dans Oracle Blockchain Platform pour exécuter la consolidation automatiquement. Pour obtenir de meilleurs résultats, réglez le programmateur à s'exécuter toutes les deux minutes et réglez la chaîne d'expiration à une valeur élevée, par exemple 120M (dix ans). Pour plus d'informations, voir Programmer la transaction à exécuter.
Invalid Account. Please Contact Admin
L'interface qui s'affiche après la connexion d'un utilisateur dépend de son rôle.La première fois qu'un utilisateur tente de se connecter à l'application, aucun compte d'utilisateur n'a encore été créé. Seuls les utilisateurs du groupe System_Admins
auxquels le rôle tokenAdmin
est également affecté peuvent se connecter. Toutes les autres tentatives de connexion échoueront. La section suivante contient plus d'informations sur l'exception pour le persona SYSTEM_ADMINS
.
Exception System_Admins
Le processus de connexion est différent pour les utilisateurs avec le persona SYSTEM_ADMINS
. Les utilisateurs du groupe System_Admins
peuvent se connecter même si leur compte n'a pas encore été créé, mais ces utilisateurs doivent avoir le rôle tokenAdmin
.
Lorsque vous déployez le code de chaîne, assurez-vous que les utilisateurs du groupe System_Admins
ont le rôle tokenAdmin
. Les paramètres qui sont transmis lors de l'initialisation du code de chaîne doivent inclure les utilisateurs administrateurs de système comme ayant le rôle tokenAdmin
. Cela permet au groupe System_Admins
de se connecter à l'application pour la première fois pour créer les autres comptes d'utilisateur.
Si vous êtes connecté à l'application en tant qu'utilisateur dans le groupe System_Admins
et que cet utilisateur n'a pas été inclus en tant que paramètre d'initialisation lors du déploiement du code de chaîne, vous devez affecter manuellement le rôle tokenAdmin
à l'utilisateur. Vous pouvez affecter manuellement le rôle tokenAdmin
à l'aide d'une collection Postman.
Flux de travaux de l'application
Les étapes suivantes présentent les actions des différents rôles dans un flux de travail d'application complet. Les sept premières étapes doivent être effectuées pour utiliser l'application.
- L'administrateur de système se connecte.
- L'administrateur de système initialise le jeton.
- L'administrateur de système crée son propre compte bancaire, puis recharge la page d'accueil pour voir les détails du réseau mis à jour.
- L'administrateur de système crée des comptes bancaires pour tous les personas CBDC, comme le montre le tableau suivant.
Groupe Application Rôle System_Admins
Token Admin
System_Auditors
Token Auditor
System_Creators
Minter
System_Managers
Escrow
System_Issuers
aucune System_Retirers
Burner
- L'administrateur de système crée des comptes bancaires d'administrateur d'organisation, qui ont le rôle
Org Admin
. - Mode confidentiel seulement : l'administrateur de système et les administrateurs d'organisation configurent le programmateur pour exécuter la consolidation automatiquement. Cela garantit que les soldes de comptes affichés sont exacts. Pour plus d'informations, voir Programmer la transaction à exécuter.
- L'administrateur de l'organisation se connecte et crée des comptes pour les utilisateurs de son organisation.
- L'administrateur de système affecte des rôles aux nouveaux utilisateurs de l'organisation, comme indiqué dans le tableau suivant.
Groupe Application Rôle Org_Admins
Org Admin
Org_Users
aucune Org_Officers
aucune Org_Managers
Escrow
Org_Auditors
Org Auditor
- Le créateur du système se connecte et demande que les jetons soient frappés.
- Le gestionnaire de système se connecte et approuve ou rejette la demande de frappe. Si la demande est approuvée, les jetons sont crédités au créateur du système.
- Le créateur du système transfère les jetons à l'émetteur du système.
- L'émetteur du système se connecte et transfère les jetons à un agent de l'organisation. Si le transfert est approuvé par le gestionnaire de système, les jetons sont transférés. Alternativement, l'émetteur du système peut transférer les jetons au système retirés pour gravure.
- Le vérificateur système se connecte, sélectionne les politiques d'audit et examine les données de transaction pertinentes.
- Le système retire les connexions et demande que les jetons soient retirés. Si le gestionnaire de système l'approuve, les jetons sont brûlés.
- Le gestionnaire de système se connecte et approuve ou rejette la demande d'émission de jetons. Si le transfert est approuvé, les jetons sont crédités au responsable de l'organisation, qui peut ensuite les transférer aux utilisateurs de l'organisation.
- Le responsable de l'organisation se connecte et transfère les jetons aux utilisateurs de l'organisation, aux autres responsables de l'organisation ou au responsable du système. Tous les transferts nécessitent l'approbation du gestionnaire de l'organisation.
- Le gestionnaire de l'organisation se connecte et approuve ou rejette les demandes de transfert.
- les utilisateurs de l'organisation se connectent et transfèrent des jetons à d'autres utilisateurs de l'organisation dans n'importe quelle organisation.
- Le vérificateur de l'organisation se connecte, sélectionne les politiques d'audit et examine les données de transaction pertinentes.