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.
- Préparation de l'infrastructure Blockchain.
- Développement et déploiement du smart contract.
- 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
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.
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.
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.
Nom utilisateur | Inscription | Instance |
---|---|---|
cmsrsk001 | cmsrsk001 | org1 |
cmsfin001 | cmsfin001 | org1 |
cmsleg001 | cmsleg001 | org1 |
- Dans la console de service Blockchain de l'instance fondatrice (org1), accédez à l'onglet Noeuds.
- Cliquez sur le menu latéral en regard de restproxy et sélectionnez Visualiser ou gérer les inscriptions.
- Sélectionnez Créer une inscription.
- Définissez ID d'inscription sur cmsrsk001, ID utilisateur sur cmsrsk001, puis cliquez sur S'inscrire.
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éé 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 voulez utiliser Oracle Blockchain App Builder en tant que module d'extension Microsoft Visual Studio, suivez les instructions de Installation et configuration de l'extension Blockchain App Builder pour Visual Studio Code.
- Si vous préférez utiliser Oracle Blockchain App Builder en tant qu'outil de ligne de commande, suivez les instructions de la section Installation et configuration de l'interface de ligne de commande Blockchain App Builder.
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.
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.
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.