Wholesale CBDC - Workflow de l'application
Une fois que vous avez installé et configuré l'exemple d'application CBDC de gros, vous pouvez l'utiliser dans des scénarios où un propriétaire système (une banque centrale) et des organisations participantes (autres institutions financières) interagissent sur 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 ensemble d'opérations différents qui prennent en charge l'ensemble du workflow de gestion des jetons dans le scénario CBDC de gros.
Rôles système
- Administrateur système : gère l'ensemble du système.
- Créateur du système : crée des jetons. Une fois la demande de création soumise, elle est envoyée au responsable système, qui l'approuve ou la rejette. Une fois la demande d'extraction 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.
- System Manager : approuve ou rejette les demandes de frappe, de gravure et de maintien de jetons. Les approbations de demande de blocage sont utilisées pour les transferts entre organisations.
- Emetteur du système : Transfère des jetons aux agents des institutions financières ou au système retiré pour brûler. Les utilisateurs ayant ce rôle reçoivent des jetons du créateur du système et des responsables de l'institution financière. Le responsable système doit approuver tous les transferts entre organisations.
- Auditeur système : dispose d'un accès en lecture seule à toutes les données organisationnelles du système.
- Système : brûle les jetons. Ce rôle reçoit des jetons de l'émetteur du système. Une fois qu'une demande de brûlure a été soumise, elle est envoyée au gestionnaire système.
Rôles d'organisation
- Administrateur d'organisation : gère leur organisation spécifique.
- Organisateur : reçoit des jetons de l'émetteur du système. Ils peuvent transférer ces jetons aux utilisateurs de n'importe quelle organisation ou renvoyer 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 les jetons des responsables de leurs organisations respectives. Ils peuvent transférer ces jetons aux utilisateurs et aux responsables de toute organisation. Tous les transferts doivent être approuvés par l'approbateur de l'organisation.
- Responsable 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 ou au sein des organisations.
- Auditeur d'organisation : dispose d'un accès en lecture seule aux données propres à son organisation.
Intégration
Une fois l'application installée, configurée et préparée, procédez comme suit pour y accéder.
- Une fois l'application préparée, revenez à la page d'accueil.
- Dans le tableau de bord de l'application, localisez l'application intermédiaire. Le statut est Transféré en regard du nom de l'application.
- Cliquez sur le menu déroulant sous Préparé 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 vérifier 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 de compte bancaire. Les ID de compte bancaire 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 des comptes sont calculés à la demande à l'aide d'une méthode de consolidation (consolidateRunningBalanceInTransactions
), définie dans le code chaîne. Lors de la consolidation, toutes les transactions en attente sont traitées et le solde du compte est mis à jour. Les soldes comptables ne sont disponibles qu'une fois la consolidation exécutée pour une organisation. Si la consolidation n'a pas été exécutée pour une organisation, les soldes comptables sont affichés comme Rapprochement en attente.
La méthode consolidateRunningBalanceInTransactions
consolide les soldes des comptes pour l'organisation de l'appelant. Cette méthode peut être appelée par Token Admin
ou Org Admin
. Les propriétaires système doivent s'authentifier à l'aide du compte utilisateur SYSTEM_ADMINS
associé au rôle de jeton tokenAdmin
. Les organisations participantes doivent s'authentifier à l'aide de leurs comptes utilisateur ORG_ADMINS
respectifs, chacun étant associé au rôle de jeton orgAdmin
.
Pour garantir l'exactitude des soldes des comptes sur l'ensemble du réseau, la méthode de consolidation doit être exécutée à intervalles réguliers. Vous pouvez utiliser l'adresse d'API REST scheduleTransactions
dans Oracle Blockchain Platform pour exécuter la consolidation automatiquement. Pour de meilleurs résultats, définissez le planificateur pour qu'il s'exécute toutes les deux minutes et définissez la chaîne d'expiration sur une valeur élevée telle que 120M (dix ans). Pour plus d'informations, voir Planifier l'exécution de la transaction.
Invalid Account. Please Contact Admin
L'interface affichée 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 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
.
System_Admins
Exception
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 ils doivent disposer du rôle tokenAdmin
.
Lorsque vous déployez le code chaîne, assurez-vous que les utilisateurs du groupe System_Admins
disposent du rôle tokenAdmin
. Les paramètres transmis lors de l'initialisation du code chaîne doivent inclure les utilisateurs administrateur système ayant le rôle tokenAdmin
. Le groupe System_Admins
peut ainsi se connecter à l'application pour la première fois afin de créer les autres comptes utilisateur.
Si vous vous êtes connecté à l'application en tant qu'utilisateur du groupe System_Admins
et que cet utilisateur n'a pas été inclus en tant que paramètre d'initialisation au moment du déploiement du code 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.
Workflow de candidature
Les étapes suivantes présentent les actions des différents rôles dans un workflow d'application complet. Les sept premières étapes doivent être effectuées pour utiliser l'application.
- L'administrateur système se connecte.
- L'administrateur système initialise le jeton.
- L'administrateur 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 système crée des comptes bancaires pour tous les personas CBDC, comme indiqué dans le tableau suivant.
Groupe d'applications Rôle System_Admins
Token Admin
System_Auditors
Token Auditor
System_Creators
Minter
System_Managers
Escrow
System_Issuers
Aucun élément System_Retirers
Burner
- L'administrateur système crée des comptes bancaires d'administrateur d'organisation, qui ont le rôle
Org Admin
. - Mode confidentiel uniquement : l'administrateur système et les administrateurs d'organisation configurent le planificateur pour qu'il exécute automatiquement la consolidation. Cela garantit que les soldes de compte affichés sont exacts. Pour plus d'informations, voir Planifier l'exécution de la transaction.
- L'administrateur de l'organisation se connecte et crée des comptes pour les utilisateurs de son organisation.
- L'administrateur système affecte des rôles aux nouveaux utilisateurs de l'organisation, comme indiqué dans le tableau suivant.
Groupe d'applications Rôle Org_Admins
Org Admin
Org_Users
Aucun élément Org_Officers
Aucun élément Org_Managers
Escrow
Org_Auditors
Org Auditor
- Le créateur du système se connecte et demande que les jetons soient extraits.
- Le gestionnaire système se connecte et approuve ou rejette la demande d'extraction. 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 responsable de l'organisation. Si le transfert est approuvé par le gestionnaire système, les jetons sont transférés. Alternativement, l'émetteur du système peut transférer les jetons vers le retrait du système pour la combustion.
- L'auditeur système se connecte, sélectionne les stratégies d'audit et vérifie les données de transaction pertinentes.
- Le système retire les journaux et demande que les jetons soient retirés. Si le gestionnaire système approuve, les jetons sont brûlés.
- Le gestionnaire 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 propriétaire du système. Tous les transferts nécessitent l'approbation du responsable de l'organisation.
- Le responsable 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.
- L'auditeur de l'organisation se connecte, sélectionne les stratégies d'audit et vérifie les données de transaction pertinentes.