Installer, configurer et déployer la solution

Pour implémenter cette solution, trois domaines principaux doivent être abordés, comme décrit dans la section suivante.

  1. Préparation de l'infrastructure Blockchain.
  2. Développement et déploiement du smart contract.
  3. Création de la ou des applications qui utiliseront notre contrat intelligent.


oracle-blockchain-cms-plan-oracle.zip

Créez un réseau Hyperledger Fabric, qui sera initialement composé d'une seule organisation, mais peut être facilement redimensionné à autant de membres que nécessaire.

Ensuite, nous allons créer le contrat intelligent pour gérer la logique nécessaire pour persister et gérer dans la blockchain les entités requises par notre cas d'utilisation commerciale.

Une fois le projet de contrat intelligent créé, nous l'installerons et le déployerons dans le réseau blockchain que nous avons créé avant, puis nous configurerons les comptes, les inscriptions et enfin nous exécuterons l'initialisation du contrat intelligent et de ses NFT.

A ce stade, les méthodes de contrat intelligent ont déjà été publiées via API Gateway de notre instance Oracle Blockchain, également appelée RESTPROXY. Elles sont donc prêtes à être utilisées par les applications client, dans notre cas, l'application Web que nous avons déjà créée avec VBCS, et nous fournirons dans la dernière section.

La dernière étape consiste à créer le bucket de stockage OCI où les documents seront stockés. Enfin, la dernière étape consiste à reconfigurer l'exemple d'application VBCS pour qu'il pointe vers notre réseau de chaîne de blocs nouvellement créé et le nouveau bucket configuré dans notre location. Une fois la reconfiguration terminée, l'application est déployée dans notre location.

Créer un réseau Oracle Blockchain

Pour la création d'un réseau Hyperledger Fabric (HLF) basé sur Oracle Blockchain, nous utilisons Oracle Blockchain Cloud Service.

Nous allons créer un réseau HLF à instance unique. Selon le cas d'utilisation, nous pouvons afficher les fonctionnalités au sein d'une seule organisation appartenant au réseau. Les nouvelles organisations peuvent rejoindre le réseau en incorporant leur propre instance Blockchain, ce qui permet aux nouveaux utilisateurs de ces organisations de posséder leurs dossiers ou de consulter le contenu des dossiers existants détenus par d'autres membres.

Création de l'instance fondatrice

  1. Dans le menu des services OCI, sélectionnez Services de développeur et cliquez sur Plate-forme Blockchain.
  2. Dans le sélecteur de combinaisons de compartiment situé sur le côté gauche de la console OCI, assurez-vous que le compartiment dans lequel créer l'instance est sélectionné.
  3. Cliquez sur Créer une plate-forme de chaîne de blocs.
  4. Attribuez à votre plate-forme un nom d'affichage (par exemple, org1), ajoutez éventuellement une description et conservez les sélections par défaut restantes car il s'agit des paramètres permettant de créer une instance fondatrice. qui sera le fondateur d'un nouveau réseau Hyperledger Fabric et utilisera la forme standard, qui a exactement les mêmes fonctionnalités que la forme Enterprise, mais à moindre coût, mais valide pour le travail de développement. Cliquez sur Créer.
    La création de l'instance pour cette organisation (org1) a été soumise et sera prête dans quelques minutes.
Une fois l'instance fondatrice créée, vous pouvez accéder à la console Oracle Blockchain pour cette instance en cliquant sur Console de service.

Création d'un canal

Nous devons rejoindre les organisations au niveau du canal pour permettre la communication entre le fondateur et le participant. Cette action sera exécutée à l'aide de la console de service Blockchain.

  1. Dans la console de service Blockchain de l'instance fondatrice (org1), sélectionnez l'onglet Canaux et cliquez sur Créer un canal.
  2. Renseignez les champs obligatoires.
    • Définissez wedocms comme nom de canal ou n'importe quel nom en fonction de vos préférences.
    • Sélectionnez les options (peer0 et peer1) pour la section Peers to Join Channel.
  3. Confirmez la création en cliquant sur Oui dans la fenêtre instantanée de confirmation.
    Vérifiez que la table des canaux affiche le nouveau canal. Cliquez sur le nom du canal (wedocms) pour visualiser les détails du canal. Vous pouvez visualiser tous les détails du canal, comme les transactions enregistrées dans les blocs du registre, les codes chaîne déployés dans le canal, les donneurs d'ordres et homologues configurés, les organisations appartenant au canal, etc.

Créer des comptes utilisateur

Nous allons utiliser Oracle Identity Cloud Service pour créer au moins un utilisateur pour chacun des services parmi les dossiers pouvant être échangés. Pour chacun de ces utilisateurs, un compte sera créé pour contenir les différents dossiers qu'ils possèdent.

Nous allons créer l'utilisateur cmsrsk001 qui appartient au service des risques, l'utilisateur cmsfin001 qui appartient au service des finances et l'utilisateur cmsleg001 qui appartient au service juridique.
  1. Dans le menu de navigation de la console OCI, dans le coin supérieur gauche, cliquez sur Identité et sécurité, puis sélectionnez l'option Fédération dans la section Identité.
  2. Cliquez sur le lien du nom du fournisseur d'identités.
  3. Cliquez sur Créer un utilisateur.
  4. Définissez en tant que nom utilisateur la valeur à utiliser pour la connexion à la console ou en tant que nom utilisateur d'autorisation pour exécuter les API REST de notre contrat intelligent. Dans le champ Courriel, définissez l'adresse électronique de votre compte OCI afin de recevoir l'adresse électronique permettant de réinitialiser le mot de passe de cet utilisateur, puis cliquez sur Créer.
  5. Cliquez sur Affecter des rôles.
  6. Pour le service AUTOBLOCKCHAIN, cliquez sur les points de suspension à droite et sélectionnez Gérer l'accès à l'instance.
  7. Selon l'utilisateur que vous avez créé, affectez des autorisations en fonction du tableau suivant. Après avoir affecté les rôles appropriés, cliquez sur Mettre à jour les paramètres d'instance. Les rôles doivent être correctement affectés.

    Table - Affectation de rôle

    Nom utilisateur Instance Rôles
    cmsrsk001 org1 ADMINISTRATION, REST_CLIENT
    cmsfin001 org1 ADMINISTRATION, REST_CLIENT
    cmsleg001 org1 ADMINISTRATION, REST_CLIENT
  8. (Facultatif) Vous serez invité à envoyer un courriel à l'adresse électronique de l'utilisateur pour informer les rôles qui ont été octroyés.
  9. Pendant le processus de création de l'utilisateur, vous recevrez un courriel dans le compte de messagerie associé à l'utilisateur récemment créé, afin de réinitialiser le mot de passe de cet utilisateur. Utilisez le lien fourni pour définir le mot de passe de l'utilisateur que vous venez de créer.

Créer des inscriptions dans les noeuds de proxy REST

Oracle Blockchain Platform prend en charge les inscriptions au proxy REST. Ces inscriptions sont utilisées dans les codes chaîne pour lesquels des jetons FT ou NFT existent, afin de mapper l'identité de l'appelant avec le rôle exécutant la transaction. Pour ce faire, vous devez créer la relation de l'utilisateur avec le rôle défini dans la blockchain et, pour plus de simplicité, vous pouvez nommer le rôle en tant qu'utilisateur.

Chaque inscription doit être créée dans l'instance où l'utilisateur disposant de ce rôle est autorisé à exécuter des transactions via le proxy REST sur cette instance Blockchain. Par conséquent, l'inscription cmsrsk001 affectée à l'utilisateur cmsrsk001 doit être créée dans le noeud de proxy REST de l'instance fondatrice (org1), et la même pour les deux autres utilisateurs, comme décrit dans le tableau suivant.
Nom utilisateur Inscription Instance
cmsrsk001 cmsrsk001 org1
cmsfin001 cmsfin001 org1
cmsleg001 cmsleg001 org1
  1. Dans la console de service Blockchain de l'instance fondatrice (org1), accédez à l'onglet Noeuds.
  2. Cliquez sur le menu latéral en regard de restproxy et sélectionnez Visualiser ou gérer les inscriptions.
  3. Sélectionnez Créer une inscription.
  4. Définissez ID d'inscription sur cmsrsk001, ID utilisateur sur cmsrsk001, puis cliquez sur S'inscrire.
Répétez l'étape 4 pour créer des inscriptions pour les deux autres utilisateurs : cmsfin001 et cmsleg001. Si des utilisateurs d'une autre organisation ont été créés, les inscriptions de ces utilisateurs doivent être créées dans le proxy REST de l'instance de chaîne de blocs à laquelle ils appartiennent.

Préparer l'environnement de développement Oracle Blockchain App Builder

La création d'un contrat intelligent Hyperledger Fabric (HLF) nécessite des connaissances intrinsèques sur HLF, la façon de coder en Java, Typescript ou GoLang, ainsi que le déploiement et la gestion du cycle de vie complet du projet de contrat intelligent.

Oracle Blockchain App Builder a été créé pour simplifier la création d'un projet de contrat intelligent. En fait, Oracle Blockchain App Builder est un outil low-code qui peut créer entièrement le projet de code chaîne à partir de zéro, à l'exception de tout code personnalisé requis par votre dossier commercial. Oracle Blockchain App Builder vous aidera également dans les phases de test, le packaging du projet et également, dans le déploiement du code chaîne localement dans votre propre ordinateur pour les tests unitaires, ou à distance dans un réseau Hyperledger Fabric réel.

oracle-app-builder-oracle.zip

Oracle Blockchain App Builder a été créé en deux variantes : vous pouvez l'utiliser comme outil de ligne de commande visant à automatiser les étapes de création et de déploiement dans les processus d'intégration continue et de déploiement continu, ou vous pouvez l'utiliser comme module d'extension de code visuel Microsoft. Les deux vous permettront d'exécuter exactement la même fonctionnalité, il vous suffit de sélectionner celle que vous préférez en fonction de vos préférences. Oracle Blockchain App Builder offre les fonctionnalités suivantes :

  • Développement : Oracle Blockchain App Builder crée l'ensemble du projet de code chaîne en créant uniquement ce qu'on appelle un fichier de spécification personnalisé. Le projet inclura toutes les entités codées, toutes leurs méthodes d'accès ainsi que toutes les méthodes CRUD pour gérer ces entités, ainsi que la signature de toute méthode personnalisée requise pour toute logique métier non standard ou complexe requise par votre application, qui deviendra le seul code nécessaire à l'implémentation manuelle.
  • Déploiement : une fois le projet de code chaîne prêt à être testé, vous pouvez le déployer localement dans le réseau Hyperledger Fabric préconfiguré ou à distance sur toute instance Oracle Blockchain Platform sur site ou cloud existante. Une autre option consiste à packager le projet à déployer manuellement via la console Oracle Blockchain.
  • Test : une fois le projet déployé, vous pouvez tester l'une des méthodes générées automatiquement ou les méthodes personnalisées du projet de code chaîne.
  • Débogage : si vous utilisez l'extension Visual Studio Code, vous pourrez également effectuer le débogage ligne par ligne du code chaîne.

Vous pouvez installer l'une des deux versions d'Oracle Blockchain App Builder disponibles suivantes :

Si vous n'êtes pas à l'aise avec l'installation de ce type d'outils de développement et de toutes leurs dépendances, mais que vous avez accès à Oracle Cloud, vous pouvez choisir de créer une boîte de développement dédiée avec tous ces produits déjà installés et prêts à être utilisés dans le cloud, et y accéder à distance. Ces machines sont rentables en raison de la forme de calcul requise. Elles ne sont facturées que lorsqu'elles sont opérationnelles.

Oracle LiveLabs propose un atelier dans lequel vous pouvez déployer une machine distante en quelques minutes, sur la base d'une image de machine virtuelle déjà préconfigurée par l'équipe de développement Oracle Blockchain. Pour plus d'informations, reportez-vous à Développement d'applications Blockchain low code à l'aide d'Apex et de Blockchain App Builder.

Remarques :

Dans l'atelier, pour préparer une machine cloud avec Visual Code Studio et le module d'extension low code Oracle Blockchain App Builder qui y est installé, il vous suffit d'exécuter les étapes Préparer la configuration et la configuration de l'environnement.

Création et configuration du bucket OCI Object Storage

Nous allons configurer le bucket OCI Object Storage qui vous permettra de stocker et d'extraire des documents à partir de l'application Web Oracle Visual Builder.

Les actions sont exécutées par l'application web en synchronisation avec la création du hachage du document qui sera stocké dans Blockchain lors du téléchargement du document vers le Bucket, et la vérification de la validité du hachage lorsque le document est téléchargé.

Remarques :

Pour plus d'informations sur le codage d'une application Oracle Visual Builder en vue de télécharger ou de télécharger des fichiers à partir d'OCI Object Storage, reportez-vous à Téléchargement/téléchargement de fichiers à partir d'OCI Storage dans une application Visual Builder.

Pour activer l'utilisation des buckets via l'API REST proposée par les buckets OCI Object Storage, nous devons créer une clé d'API OCI associée à l'utilisateur autorisé à exécuter l'API REST. Exécutez les deux tâches de configuration suivantes pour utiliser les buckets OCI Object Storage dans notre application Web VBCS.

Pour activer l'utilisation des buckets OCI Object Storage à partir de l'application Oracle Visual Builder, vous devez créer une clé d'API OCI pour accéder aux services OCI via l'API REST.

  1. Connectez-vous à la console OCI et cliquez sur l'icône Profil en haut à droite de la console pour accéder aux paramètres utilisateur.
  2. Faites défiler la page vers le bas et cliquez sur Clés d'API dans le menu Ressources.
  3. Cliquez sur Ajouter une clé d'API pour ajouter une clé d'API.
  4. Sélectionnez Générer une paire de clés d'API.

    Remarques :

    Vous pouvez utiliser vos propres clés publiques et privées au format pem, mais dans ce manuel de solutions, nous utiliserons les clés générées automatiquement.
  5. Téléchargez les clés privées et publiques et marquez un fichier .pem comme public.
  6. Cliquez sur Ajouter.
  7. Cliquez sur le lien de copie pour copier les informations d'identification d'API OCI dans un fichier texte de votre ordinateur local, car vous en aurez besoin pour les étapes suivantes.
  8. Cliquez sur Fermer.
    Vous devez créer une clé d'API et voir la clé d'empreinte dans la console Web OCI. Vous pouvez accéder au fichier de configuration que vous avez copié précédemment sur votre bureau en cliquant sur les points de suspension dans la ligne Empreinte et en sélectionnant Afficher le fichier de configuration.

    Remarques :

    Enregistrez les détails car vous en aurez besoin avec la clé privée pour les étapes suivantes.
  9. Créez un bucket dans lequel nos objets seront stockés. Accédez à Stockage, puis cliquez sur Buckets.
    Pour plus de simplicité, il peut être créé en tant que public, de sorte qu'il ne nécessite pas d'authentification, mais vous pouvez également réaliser la même chose avec les buckets de visibilité privée.
  10. Sélectionnez le compartiment dans lequel créer le bucket, puis cliquez sur Créer un bucket.
  11. Sur l'écran Créer un bucket, attribuez un nom au bucket, conservez les autres paramètres de configuration par défaut, puis cliquez sur Créer pour terminer la création du bucket.
    Le nouveau bucket apparaîtra dans le compartiment sélectionné. Sélectionnez le nom du bucket pour visualiser les détails. Cliquez sur Objets dans le menu de gauche pour afficher les objets téléchargés vers ce bucket.