Ecrire un code chaîne
Un code chaîne est écrit en Go, Node.js ou Java, puis packagé dans un fichier .zip installé sur le réseau Oracle Blockchain Platform.
Les codes chaîne définissent le schéma de données dans le registre, l'initialisent, effectuent des mises à jour lorsqu'ils sont déclenchés par des applications et répondent aux requêtes. Les codes chaîne peuvent également publier des événements qui permettent aux applications d'être averties et d'effectuer des opérations en aval. Par exemple, une fois les bons de commande, les factures et les enregistrements de livraison mis en correspondance par un code chaîne, une application abonnée peut publier un événement afin de traiter les paiements associés et de mettre à jour un système ERP interne.
Ressources pour le développement de codes chaîne
Oracle Blockchain Platform utilise Hyperledger Fabric comme base. Utilisez la documentation Hyperledger Fabric pour vous aider à écrire des codes chaîne valides.
-
Bienvenue dans Hyperledger Fabric. Lisez les sections Concepts clés et Tutoriels avant d'écrire votre propre code chaîne.
-
Exécuter le langage de programmation. Les compilateurs, outils et bibliothèques Go fournissent une variété de ressources qui simplifient l'écriture de codes chaîne.
-
Cale du package. Le shim de package fournit des API permettant au code chaîne d'accéder à ses variables d'état, d'obtenir le contexte de transaction et d'appeler d'autres codes chaîne. La documentation shim de package décrit la syntaxe réelle requise pour votre code chaîne.
Oracle Blockchain Platform fournit des exemples téléchargeables qui vous aident à comprendre comment écrire des codes chaîne et des applications. Reportez-vous à Exemples de code chaîne.
Vous pouvez ajouter une syntaxe de requête enrichie à vos codes chaîne pour interroger la base de données d'état. Reportez-vous à Syntaxe de requête enrichie SQL et à Syntaxe de requête enrichie CouchDB.
Packagez un code chaîne Go
Une fois le code chaîne écrit, compressez-le dans un fichier au format .zip. Vous n'avez pas besoin de créer de package pour le code chaîne Go ou de le signer. Le processus d'installation et de déploiement d'Oracle Blockchain Platform effectue cette opération pour vous, comme décrit dans Workflow standard de déploiement de codes chaîne.
Si votre code chaîne comporte des dépendances externes, vous pouvez les placer dans le répertoire du fournisseur de votre fichier .zip.
Fournisseur de shim pour les codes chaîne Go
La dépendance shim de code chaîne Go n'est plus incluse avec Hyperledger Fabric. Le shim doit maintenant être vendu (importé) aux codes chaîne Go avant d'être installé sur un pair.
Vous pouvez utiliser des modules Go ou un outil tiers, tel que le fournisseur, pour créer le code chaîne shim et le mettre à jour vers la version qui fonctionne avec Hyperledger Fabric.
Pour plus d'informations, reportez-vous à Modifications de shim de code chaîne (code chaîne Go uniquement) et à Mise à niveau des codes chaîne avec shim vendored dans la documentation Hyperledger Fabric. Pour plus d'informations sur les modules Go, reportez-vous à Référence des modules Go.
Packagez un code chaîne Node.js
package.json avec deux sections :
-
La section
scriptsindique comment lancer le code chaîne. -
La section
dependenciesindique les dépendances.
Voici un exemple de code chaîne package.json pour un code chaîne Node.js :
{
"name": "chaincode_example02",
"version": "1.0.0",
"description": "chaincode_example02 chaincode implemented in Node.js",
"engines": {
"node": ">=8.4.0",
"npm": ">=5.3.0"
},
"scripts": { "start" : "node chaincode_example02.js" },
"engine-strict": true,
"license": "Apache-2.0",
"dependencies": {
"fabric-shim": "~1.3.0"
}
}
- Le fichier
package.jsondoit se trouver dans le répertoire racine. - Le fichier d'entrée JavaScript peut se trouver n'importe où dans le package.
- Si
"start" : "node <start>.js"n'est pas spécifié dans le fichierpackage.json, le fichierserver.jsdoit se trouver dans le répertoire racine.
Compressez le code chaîne et le fichier de package au format .zip pour l'installer sur Oracle Blockchain Platform.
Package d'un code chaîne Java
Si vous écrivez un code chaîne Java, vous pouvez choisir Gradle ou Maven pour créer le code chaîne.
.zip pour l'installer sur Oracle Blockchain Platform. La liste suivante présente des exemples de fichiers dans un package de code chaîne :Archive: example_gradle.zip
Length Date Time Name
--------- ---------- ----- ----
610 02-14-2019 01:36 build.gradle
54 02-14-2019 01:28 settings.gradle
0 02-14-2019 01:28 src/
0 02-14-2019 01:28 src/main/
0 02-14-2019 01:28 src/main/java/
0 02-14-2019 01:28 src/main/java/org/
0 02-14-2019 01:28 src/main/java/org/hyperledger/
0 02-14-2019 01:28 src/main/java/org/hyperledger/fabric/
0 02-14-2019 01:28 src/main/java/org/hyperledger/fabric/example/
5357 02-14-2019 01:28 src/main/java/org/hyperledger/fabric/example/SimpleChaincode.java
--------- -------
6021 10 files.zip pour l'installer sur Oracle Blockchain Platform. La liste suivante présente des exemples de fichiers dans un package de code chaîne :Archive: example_maven.zip
Length Date Time Name
--------- ---------- ----- ----
3313 02-14-2019 01:52 pom.xml
0 02-14-2019 01:28 src/
0 02-14-2019 01:28 src/chaincode/
0 02-14-2019 01:28 src/chaincode/example/
4281 02-14-2019 01:28 src/chaincode/example/SimpleChaincode.java
--------- -------
7594 5 filesTest d'un code chaîne
Testez votre code chaîne après l'avoir écrit. Reportez-vous aux rubriques suivantes :
Installation et déploiement d'un code chaîne
Après avoir testé votre code chaîne, vous pouvez le déployer en suivant les informations contenues dans le workflow standard de déploiement de codes chaîne.
Mise à niveau d'un code chaîne
Mettez à niveau un code chaîne déployé en suivant les étapes décrites dans Mise à niveau d'un code chaîne.