Escribir un código de cadena
Un código de cadena se escribe en Go, Node.js o Java y, a continuación, se empaqueta en un archivo .zip que se instala en la red de Oracle Blockchain Platform.
Los códigos de cadena definen el esquema de datos en el libro mayor, lo inicializan, completan las actualizaciones cuando lo disparan las aplicaciones y responden a las consultas. Los códigos de cadena también pueden publicar eventos que permiten que las aplicaciones reciban notificaciones y completen las operaciones posteriores. Por ejemplo, una vez que los registros de órdenes de compra, facturas y entrega se han confrontado con un código de cadena, puede contabilizar un evento para que una aplicación de suscripción pueda procesar pagos relacionados y actualizar un sistema de ERP interno.
Recursos para el desarrollo de código de cadenas
Oracle Blockchain Platform utiliza Hyperledger Fabric como base. Utilice la documentación de Hyperledger Fabric para ayudarle a escribir códigos de cadenas válidos.
-
Bienvenido a Hyperledger Fabric. Lea las secciones Key Concepts and Tutorials antes de escribir su propio código de cadenas.
-
Ir al lenguaje de programación. Los compiladores, herramientas y bibliotecas Go proporcionan una variedad de recursos que simplifican la escritura de códigos de cadenas.
-
Paquete shim. El paquete shim proporciona API para el código de cadena para acceder a sus variables de estado, obtener contexto de transacción y llamar a otros códigos de cadena. La documentación del paquete shim describe la sintaxis real que se requiere para el código de cadenas.
Oracle Blockchain Platform proporciona ejemplos descargables que le ayudan a comprender cómo escribir códigos de cadenas y aplicaciones. Consulte Definición de ejemplos de código de cadenas
Puede agregar sintaxis de consulta enriquecida a los códigos de cadenas para consultar la base de datos de estado. Consulte Sintaxis de consulta enriquecida SQL y Sintaxis de consulta enriquecida CouchDB.
Empaquetar un código de cadena de Go
Después de haber escrito el código de cadenas, comprimirlo en un archivo en formato .zip. No es necesario crear un paquete para el código de cadena Go ni firmarlo: el proceso de instalación y despliegue de Oracle Blockchain Platform lo hace por usted, como se describe en Flujo de trabajo típico para desplegar códigos de cadena.
Si el código de cadenas tiene dependencias externas, puede colocarlas en el directorio de proveedores del archivo .zip.
Vende los códigos de cadena Shim for Go
La dependencia de código de cadena de Go Shim ya no se incluye con Hyperledger Fabric. El shim ahora se debe vender (importar) a códigos de cadenas Go antes de que se instalen en un par.
Puede usar módulos Go o una herramienta de terceros, como proveedor de gobierno para proveedor, el código de cadena shim y actualizarlo a la versión que funciona con Hyperledger Fabric.
Para obtener más información, consulte Chaincode shim changes (Go chaincode only) y Upgrade Chaincodes with vendored shim en la documentación de Hyperledger Fabric. Para obtener más información sobre los módulos Go, consulte Referencia de módulos Go.
Empaquetado de un código de cadena Node.js
package.json con dos secciones:
-
La sección
scriptsdeclara cómo iniciar el código de cadena. -
La sección
dependenciesespecifica las dependencias.
A continuación se muestra un ejemplo de package.json para un código de cadena 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"
}
}
- El archivo
package.jsondebe estar en el directorio raíz. - El archivo de entrada JavaScript se puede encontrar en cualquier parte del paquete.
- Si no se especifica
"start" : "node <start>.js"en el archivopackage.json, el archivoserver.jsdebe estar en el directorio raíz.
Comprima el código de cadena y el archivo de paquete en formato .zip para instalarlo en Oracle Blockchain Platform.
Empaquetado de un código de cadena Java
Si está escribiendo un código de cadena Java, puede elegir Gradle o Maven para crear el código de cadena.
.zip para instalarlo en Oracle Blockchain Platform. La siguiente lista muestra archivos de ejemplo en un paquete de código de cadenas: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 para instalarlo en Oracle Blockchain Platform. La siguiente lista muestra archivos de ejemplo en un paquete de código de cadenas: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 filesPrueba de un código de cadena
Pruebe el código de cadenas después de escribirlo. Consulte los temas siguientes:
Instalación y despliegue de un código de cadenas
Después de probar el código de cadenas, puede desplegarlo siguiendo la información de Flujo de trabajo típico para desplegar códigos de cadenas.
Actualización de un código de cadena
Actualice un código de cadena desplegado siguiendo los pasos de Actualización de un código de cadena.