Configurer Oracle Blockchain Platform pour l'exemple d'application CBDC de gros

Après avoir créé toutes les instances requises d'Oracle Blockchain Platform et ses produits préalables, vous devez configurer vos utilisateurs et vos rôles, ajouter des organisations participantes à l'organisation fondatrice et activer la base de données historique enrichie.

Configurer les groupes IDCS sur les instances Oracle Blockchain Platform

Pour plus d'informations sur les rôles Oracle Blockchain Platform intégrés et sur la façon de leur affecter des utilisateurs, voir Configurer des utilisateurs et des rôles d'application

Pour plus d'informations sur les rôles d'exemple d'application CBDC de gros, voir Flux de travail d'application CBDC de gros.

Dans Oracle Blockchain Platform, les affectations de rôle d'application suivantes doivent être mises en oeuvre :

  • Groupes de responsables de système : Affectez le groupe IDCS de responsable de système combiné unique (contenant toutes les personas de responsable de système) au rôle d'application REST_CLIENT de l'instance Oracle Blockchain Platform Digital Assets Edition, responsable de système. N'affectez pas de groupes particuliers à une personne directement à l'instance Oracle Blockchain Platform Digital Assets Edition.
  • Groupes d'organisations participantes : Pour chaque organisation participante, affectez le groupe IDCS d'organisation participante combinée unique (contenant tous les groupes spécifiques aux personas pour cette organisation) au rôle d'application REST_CLIENT de l'instance Oracle Blockchain Platform Digital Assets Edition respective.
  • Rôles administratifs : Affectez les groupes d'administration pertinents, tels que System_Admins et Org1_Admins, au rôle d'application ADMIN de leur instance Oracle Blockchain Platform Digital Assets Edition respective.

Cette configuration garantit que le responsable du système et les groupes d'organisations participantes disposent de l'accès nécessaire au moyen du rôle REST_CLIENT, tandis que les privilèges d'administration sont gérés de manière appropriée au moyen du rôle ADMIN.

Suivez ces étapes pour affecter les groupes aux rôles d'application.

  1. Connectez-vous à votre compte Oracle Cloud Infrastructure.
  2. Dans la console, cliquez sur le menu Navigation dans l'angle supérieur gauche.
  3. Sous Identité, sélectionnez Domaines.
  4. Dans la page Domaines, cliquez sur Oracle Identity Cloud Service.
  5. Dans le menu de navigation d'Oracle Identity Cloud Service, sélectionnez Oracle Cloud Services. Localisez l'instance Oracle Blockchain Platform pour laquelle vous voulez affecter des rôles de groupe. Ouvrez la page Détails de cette instance.
  6. Allez à la page Rôles d'application pour voir les rôles d'application Oracle Identity Cloud Service répertoriés dans le navigateur de ressources.
  7. Sélectionnez le rôle à affecter et développez-le. Cliquez sur le menu Plus pour le rôle et sélectionnez Affecter des groupes.
  8. Dans la boîte de dialogue Affecter des groupes, sélectionnez les groupes à affecter au rôle, puis cliquez sur Affecter.

Extraire ClientId et ClientSecret

Oracle Blockchain Platform ClientID et ClientSecret seront utilisés par Visual Builder. Vous devrez mettre à jour ces paramètres dans Visual Builder plus tard, comme décrit sous Configurer les serveurs dorsaux Visual Builder.

Effectuez les étapes suivantes pour extraire l'ID client et la clé secrète client d'une instance Oracle Blockchain Platform :

  1. Connectez-vous à votre compte Oracle Cloud Infrastructure. Assurez-vous que vous disposez de privilèges d'administration suffisants pour gérer les paramètres OAuth.
  2. Dans la console, cliquez sur le menu Navigation dans l'angle supérieur gauche.
  3. Sous Identité, sélectionnez Domaines.
  4. Dans la page Domaines, cliquez sur Oracle Identity Cloud Service.
  5. Dans le menu de navigation d'Oracle Identity Cloud Service, sélectionnez Oracle Cloud Services. Localisez l'instance Oracle Blockchain Platform pour laquelle vous voulez extraire l'ID client et la clé secrète client. Ouvrez la page Détails de cette instance.
  6. Lorsque vous ouvrez la page des détails de l'instance, l'onglet par défaut affiché est l'onglet Configuration OAuth. Cet onglet contient des informations essentielles concernant les paramètres OAuth pour votre instance Oracle Blockchain Platform.

    Vous trouverez les champs étiquetés ID client et Clé secrète client dans la section Informations générales. Ces données d'identification sont utilisées pour authentifier les demandes d'API dans Oracle Blockchain Platform.

Configuration d'organisations multiples

Si vous créez un réseau complexe Oracle Blockchain Platform comprenant plusieurs organisations, ajoutez des participants au fondateur. Un aperçu de ce processus est présenté dans le guide d'administration d'Oracle Blockchain Platform : Ajouter des organisations participantes OBCS au réseau.

Configurer la base de données riche d'historique pour Oracle Blockchain Platform

Pour plus d'informations sur la configuration et l'utilisation de la base de données historique enrichie, voir Créer la base de données historique enrichie.

Avant d'effectuer ces étapes, vous devez avoir créé une instance Autonomous Database comme décrit dans Provisionner Autonomous Database afin d'activer la base de données à historique enrichi pour Oracle Blockchain Platform.

En mode générique, configurez l'instance unique d'Oracle Autonomous Database pour l'instance propriétaire du système d'Oracle Blockchain Platform. En mode confidentiel, vous devez configurer chaque organisation participante et le responsable du système avec des instances distinctes d'Oracle Autonomous Database.

  1. Ouvrez la console Oracle Blockchain Platform pour l'instance de réseau.
  2. Cliquez sur le menu Actions supplémentaires dans le coin supérieur droit et sélectionnez Configurer l'historique enrichi.
  3. Spécifiez une connexion à la base de données Oracle en fournissant la chaîne de connexion et les données d'identification permettant d'accéder à la base de données Oracle et d'y écrire. Notez que les données d'identification que vous fournissez sont celles de la base de données et qu'Oracle Blockchain Platform ne les gère pas.
  4. Cliquez sur Enregistrer pour configurer la base de données historique enrichie.

Créer des inscriptions

Vous devez créer manuellement les inscriptions pour les utilisateurs dans les groupes System_Admins et Org_Admins.

Les inscriptions au mandataire REST d'Oracle Blockchain Platform fournissent un mécanisme permettant aux utilisateurs d'interagir avec la chaîne de blocs sans avoir besoin d'un certificat d'inscription. Cela simplifie les appels d'API en mappant les identités d'application aux membres de la chaîne de blocs. Pour lancer tout appel au code de chaîne, des inscriptions doivent être établies dans Oracle Blockchain Platform.

L'application CBDC de gros gère la création d'inscriptions pour les utilisateurs lors de la configuration du compte. Toutefois, lorsqu'un administrateur de système se connecte pour la première fois, aucune inscription n'existe. Par conséquent, si cet utilisateur tente de créer un compte, l'appel RestProxy échouera. Par conséquent, il est essentiel de créer une inscription pour le groupe System_Admins.

Lors de la définition des comptes, des inscriptions sont créées pour les organisations respectives. Par exemple, lorsque des comptes sont établis pour le responsable du système, les inscriptions correspondantes sont générées. Toutefois, si des comptes d'organisations de participants sont créés au moyen de la page de l'administrateur de système, les inscriptions ne seront pas automatiquement créées pour ces organisations. Dans ce flux des travaux CBDC de gros, vous devez définir les comptes d'administrateur d'organisation dans la page d'administrateur de système. Par conséquent, vous devez créer manuellement des inscriptions pour le groupe d'administrateurs d'organisations, car ces inscriptions ne seront pas générées automatiquement en raison de la structure organisationnelle distincte entre la banque centrale et les institutions financières.

Reportez-vous à Ajouter des inscriptions à un mandataire REST pour obtenir des informations complètes sur la création des inscriptions.

Extraire RestproxyId

La valeur RestproxyId sera utilisée par Visual Builder. Vous devrez le mettre à jour dans Visual Builder plus tard, comme décrit sous Configurer les serveurs dorsaux Visual Builder.

Pour extraire la valeur RestProxyId pour une instance Oracle Blockchain Platform, vous devez appeler les API de la console Oracle Blockchain Platform à l'aide d'un compte d'utilisateur administratif. L'authentification peut être effectuée à l'aide de l'authentification de base ou de OAuth 2.0.

Méthode d'authentification

Pour OAuth 2.0, consultez la documentation à l'adresse OAuth 2.0 Authentification basée sur un jeton d'accès pour mettre en oeuvre le flux d'authentification nécessaire.

Point d'extrémité d'API pour l'extraction de RestProxyId

Utilisez l'API de la console Oracle Blockchain Platform pour obtenir RestProxyId en envoyant une demande au point d'extrémité suivant :

GET <oracleblockchainplatform_url>/console/admin/api/v2/nodes

Cet appel d'API retournera une réponse contenant les détails sur les mandataires REST configurés dans votre instance.

Pour plus de détails sur l'API de console, consultez la documentation suivante : Obtenir une liste de noeuds.

Détails de réponse

Dans la réponse, localisez la section étiquetée RESTProxies, où vous trouverez la valeur RestProxyId correspondante. La structure de la réponse comprend divers attributs associés à chaque noeud mandataire REST.

"RESTProxies": [
        {
            "status": "up",
            "extInfo": [],
            "displayName": "restproxy",
            "RESTProxyId": "48021a2c-e62b-40cd-b7ca-71dda883521d-restproxy",
            "url": "https://bank3-oabcs1-hyd.blockchain.ocp.oraclecloud.com:7443/restproxy",
            "mspId": "Bank3"
        }
    ]

Déployer le code de chaîne pour l'exemple d'application CBDC de gros

Vous pouvez maintenant créer un canal et y déployer un exemple de code de chaîne d'application.

  1. Créez un canal.
    1. Définissez un nouveau canal avec les participants nécessaires en fonction des exigences de votre organisation.
    2. Pendant le processus de création du canal, assurez-vous que l'option Activer l'historique enrichi est sélectionnée. Cette option active la fonction d'historique enrichi, qui a été configurée précédemment.
    3. Mode confidentiel seulement : Pour les collections de données privées, entrez un astérisque (*) pour autoriser l'accès à toutes les collections de données privées.
      Si vous ne terminez pas cette étape, les données retournées par la collecte de données privée ne seront pas exactes.
    4. Mode confidentiel seulement : Répétez les deux étapes précédentes (activation de l'historique complet et de l'accès aux collections de données privées sur le canal créé précédemment) pour toutes les autres organisations participantes du réseau.
  2. Déployer le code de chaîne.
    • Mode générique : Déployez le code de chaîne CBDC de gros en téléchargeant le paquet de code de chaîne CBDC de gros et en déployant le fichier d'archives à l'intérieur de celui-ci (WholesaleCBDC.zip) sur le nouveau canal. Le nom de l'ensemble est Wholesale CBDC.
    • Mode confidentiel : Déployez le code de chaîne CBDC de gros confidentiel en téléchargeant le paquet de code de chaîne CBDC de gros confidentiel et en déployant le fichier d'archives à l'intérieur de celui-ci (WholesaleCBDC-Confidential.zip) sur le nouveau canal. Le nom de l'ensemble est WholesaleCBDCConfidential.
    Pour plus de détails sur le déploiement des codes de chaîne, reportez-vous à la section Flux de travail type pour déployer des codes de chaîne.
  3. Appelez l'API init, en utilisant soit la collection CBDC Postman de gros fournie dans le paquet de code de chaîne CBDC de gros, soit la collection CBDC Postman de gros confidentiel dans le paquet de code de chaîne CBDC de gros confidentiel, le cas échéant. Cette étape termine le processus d'initialisation, en s'assurant que le code de chaîne est prêt à être utilisé.
  4. Vérifiez le statut de réplication.
    1. Allez à l'onglet Canaux.
    2. Localisez le canal et cliquez sur le menu Actions supplémentaires à droite de l'entrée de canal.
    3. Sélectionnez Statut de l'historique enrichi pour voir le statut de la réplication.
      • Si le statut est REPLICATING, les données du canal sont en réplication active vers la base de données d'historique enrichi.
      • Si le statut de réplication est USER_DISABLED, effectuez les actions suivantes :
        1. Redémarrer le pair : Redémarrez le noeud pair associé au canal.
        2. Démarrer une transaction : Déclencher toute transaction sur le canal pour lancer la réplication des données.
        3. Répétez l'état de réplication pour confirmer que les données sont maintenant répliquées vers la base de données historique enrichie.
Notez le nom du canal et le nom du code de chaîne; vous devrez configurer Visual Builder avec ceux-ci pour pouvoir utiliser l'exemple d'application.

Créer des vues de base de données riches

Après avoir créé la base de données d'historique enrichi pour votre instance Oracle Blockchain Platform, vous pouvez exécuter le script de création de vue de base de données pour créer les vues dans la base de données d'historique enrichi et générer le point d'extrémité ORDS.

Le script Oracle REST Data Services (ORDS) est une application Node.js écrite dans TypeScript, conçue pour exposer les points d'extrémité ORDS afin d'extraire les détails de transaction de compte de la base de données d'historique enrichi. Il crée un point d'extrémité RESTful qui permet aux utilisateurs d'extraire les données de transaction de chaîne de code (pour les codes de chaîne TypeScript et Go) de la base de données d'historique enrichi. Il fournit également des données d'identification essentielles telles que le point d'extrémité ORDS, clientId, clientSecret et le jeton du porteur pour l'authentification et l'accès au point d'extrémité.
  1. Téléchargez le script de création de la vue de base de données.
    1. Ouvrez la console Oracle Blockchain Platform.
    2. Accédez à la page Ressources numériques.
    3. Dans la barre latérale gauche, allez à l'application Wholesale CBDC.
    4. Téléchargez le script à partir de la zone Définitions de vue Oracle Database pour WholesaleCBDC .
  2. Après avoir téléchargé le script, consultez Oracle Database View Definitions for Wholesale CBDC pour plus de détails sur sa façon de l'exécuter.
  3. Le script retourne le point d'extrémité ORDS, l'ID client, la clé secrète client et le jeton du porteur.
    • En mode générique, toutes les organisations utilisent une seule configuration de point d'extrémité ORDS. Le script retourne des points d'extrémité pour les comptes à trois portées : comptes individuels, comptes au niveau de l'organisation et tous les comptes.
      {
        ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
       {
        "ORDSEndpoint": {
          "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN",
          "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts",
          "AllAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNAllAccounts"
        },
        clientId: '<clientId>',
        clientSecret: '<clientSecret>',
        bearerToken: {
          access_token: '<BearerToken>',
          token_type: 'bearer',
          expires_in: 3600
        }
      }
    • En mode confidentiel, chaque organisation, y compris le propriétaire du système, a sa propre configuration ORDS. Les points d'extrémité du responsable du système incluent l'accès à tous les comptes. Les organisations participantes n'ont accès qu'à leurs propres comptes au niveau de l'organisation.
      Responsable du système :
      {
        ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
       {
        "ORDSEndpoint": {
          "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN",
          "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts",
          "AllAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNAllAccounts"
        },
        clientId: '<clientId>',
        clientSecret: '<clientSecret>',
        bearerToken: {
          access_token: '<BearerToken>',
          token_type: 'bearer',
          expires_in: 3600
        }
      }
      Organisation du participant :
      {
        ORDSEndpoint: 'https://<base_URL>ords/<user_name|alias>/<resource_link>',
       {
        "ORDSEndpoint": {
          "Accounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERN",
          "OrgAccounts": "https://<base_URL>ords/ALIAS_NAME/BASE_PATH/PATTERNOrgAccounts"
        },
        clientId: '<clientId>',
        clientSecret: '<clientSecret>',
        bearerToken: {
          access_token: '<BearerToken>',
          token_type: 'bearer',
          expires_in: 3600
        }
      }
Le point d'extrémité ORDS permettant d'accéder aux services RESTful suit cette structure :
ORDS_REST_BASE_URL/ords/ALIAS_NAME/BASE_PATH/PATTERN
  • ORDS_REST_BASE_URL : URL de base du service ORDS.
  • ALIAS_NAME : Alias de base de données ou de schéma configuré dans ORDS.
  • BASE_PATH : Chemin de base des services RESTful.
  • PATTERN : Modèle de point d'extrémité spécifique pour le service RESTful.
Pour générer un jeton de porteur pour l'authentification, utilisez le point d'extrémité du jeton OAuth2 :
ORDS_REST_BASE_URL/ords/ALIAS_NAME/oauth/token
Les paramètres suivants liés à ORDS doivent être mis à jour dans l'élément dorsal de Visual Builder pour extraire les données de la base de données d'historique enrichi. Cette opération sera effectuée plus tard dans Configurer les serveurs dorsaux Visual Builder.
  • clientId
  • clientSecret
  • Point d'extrémité ORDS (point d'extrémité Accounts uniquement; les points d'extrémité OrgAccounts et AllAccounts sont dérivés à l'interne)
  • URL de base OAuth : ORDS_REST_BASE_URL/ords/<userName|aliasName>