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.

  1. Une fois l'application préparée, revenez à la page d'accueil.
  2. 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.
  3. Cliquez sur le menu déroulant sous Préparé et sélectionnez le nom de l'application.
  4. 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.

Lorsqu'un utilisateur tente de se connecter à l'application, le système vérifie que l'utilisateur dispose d'un compte et du rôle approprié. Si le compte n'existe pas ou si le rôle requis est absent, l'erreur suivante s'affiche.
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.

  1. L'administrateur système se connecte.
  2. L'administrateur système initialise le jeton.
  3. 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.
  4. 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
  5. L'administrateur système crée des comptes bancaires d'administrateur d'organisation, qui ont le rôle Org Admin.
  6. 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.
  7. L'administrateur de l'organisation se connecte et crée des comptes pour les utilisateurs de son organisation.
  8. 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
  9. Le créateur du système se connecte et demande que les jetons soient extraits.
  10. 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.
  11. Le créateur du système transfère les jetons à l'émetteur du système.
  12. 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.
  13. L'auditeur système se connecte, sélectionne les stratégies d'audit et vérifie les données de transaction pertinentes.
  14. 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.
  15. 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.
  16. 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.
  17. Le responsable de l'organisation se connecte et approuve ou rejette les demandes de transfert.
  18. Les utilisateurs de l'organisation se connectent et transfèrent des jetons à d'autres utilisateurs de l'organisation dans n'importe quelle organisation.
  19. L'auditeur de l'organisation se connecte, sélectionne les stratégies d'audit et vérifie les données de transaction pertinentes.