Écrire un code de chaîne
Un code de chaîne est écrit en Go, Node.js ou Java, puis emballé dans un fichier ZIP installé sur le réseau Oracle Blockchain Platform.
Les codes de chaîne définissent le schéma de données dans le livre, l'initialiser, compléter les mises à jour lorsqu'ils sont déclenchés par des applications et répondre aux interrogations. Les codes de chaîne peuvent également publier des événements qui permettent aux applications d'être avisées et de terminer des opérations en aval. Par exemple, une fois que des bons de commande, des factures et des enregistrements de livraison ont été mis en correspondance par un code de chaîne, il peut reporter un événement afin qu'une application abonnée puisse traiter les paiements connexes et mettre à jour un système ERP interne.
Ressources pour le développement de code de chaîne
Oracle Blockchain Platform utilise Hyperledger Fabric comme base. Utiliser la documentation sur Hyperledger Fabric pour écrire des codes de chaîne valides.
-
Bienvenue dans Hyperledger Fabric. Lisez les sections Key Concepts and Tutorials (Concepts clés et tutoriels) avant d'écrire votre propre code de chaîne.
-
Langage de programmation Go. Les compilateurs, outils et bibliothèques Go fournissent une variété de ressources qui simplifient l'écriture de codes de chaîne.
-
Cim pour ensemble. Le package shim fournit des API permettant au code de chaîne d'accéder à ses variables d'état, d'obtenir le contexte de transaction et d'appeler d'autres codes de chaîne. La documentation de simulation du paquetage décrit la syntaxe réelle requise pour votre code de chaîne.
Oracle Blockchain Platform fournit des exemples téléchargeables qui vous aident à comprendre comment écrire des codes de chaîne et des applications. Voir À quoi servent les exemples de code de chaîne?
Vous pouvez ajouter une syntaxe d'interrogation enrichie à vos codes de chaîne pour interroger la base de données d'état. Voir Syntaxe d'interrogation enrichie SQL et CouchDB Syntaxe d'interrogation enrichie.
Package a Go Chaincode
Après avoir écrit votre code de chaîne, compressez-le dans un fichier au format ZIP. Vous n'avez pas besoin de créer un ensemble pour le code de chaîne Go ou de le signer : le processus d'installation et de déploiement d'Oracle Blockchain Platform le fait pour vous tel que décrit dans Flux de travail type pour déployer des codes de chaîne (Hyperledger Fabric v2.x).
Si votre code de chaîne comporte des dépendances externes, vous pouvez les placer dans le répertoire fournisseur de votre fichier ZIP.
Vendez les codes de chaîne Shim for Go
La dépendance de simulation de code de chaîne Go, qui était précédemment incluse avec les versions antérieures de Hyperledger Fabric, n'est pas incluse avec Hyperledger Fabric v2.x. La cale doit maintenant être vendue (importée) pour les codes de chaîne Go avant d'être installées sur un pair.
Vous pouvez utiliser les modules Go ou un outil de tierce partie, tel que govendor, pour fournir le shim de code de chaîne et le mettre à jour à la version qui fonctionne avec Hyperledger Fabric v2.x.
Pour plus d'informations, voir Modifications de la couche de code de chaîne (Go chaincode uniquement) et Mettre à niveau les codes de chaîne avec la couche de chaîne vendue dans la documentation sur Hyperledger Fabric. Pour plus d'informations sur les modules Go, voir Informations de référence sur les modules Go.
Collaborer un code de chaîne Node.js
package.json
avec deux sections :
-
La section
scripts
déclare comment lancer le code de chaîne. -
La section
dependencies
spécifie les dépendances.
Voici un exemple de code de chaîne package.json
pour un code de 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.json
doit se trouver dans le répertoire racine. - Le fichier d'entrée JavaScript peut être localisé n'importe où dans le paquetage.
- Si
"start" : "node <start>.js"
n'est pas spécifié dans le fichierpackage.json
, le fichierserver.js
doit se trouver dans le répertoire racine.
Compresser le code de chaîne et le fichier d'ensemble au format ZIP pour l'installer sur Oracle Blockchain Platform.
Collaborer un code de chaîne Java
Si vous écrivez un code de chaîne Java, vous pouvez choisir Gradle ou Maven pour créer le code de 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
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 files
Test d'un code de chaîne
Tester le code de chaîne après l'avoir écrit. Voir les sujets suivants :
Installation et déploiement d'un code de chaîne
Après avoir testé votre code de chaîne, vous pouvez le déployer en suivant les informations du flux de travail type pour déployer des codes de chaîne (Hyperledger Fabric v2.x).
Mise à niveau d'un code de chaîne
Mettre à niveau un code de chaîne déployé en suivant les étapes sous Mettre à niveau un code de chaîne (Hyperledger Fabric v2.x).