Scrivi un codice concatenato

Un codice concatenato viene scritto in Go, Node.js o Java e quindi inserito in un package in un file .zip installato nella rete Oracle Blockchain Platform.

I codici concatenati definiscono lo schema dati nel libro contabile, lo inizializzano, completano gli aggiornamenti quando vengono attivati dalle applicazioni e rispondono alle query. I codici concatenati possono anche pubblicare eventi che consentono alle applicazioni di essere notificate e completare le operazioni a valle. Ad esempio, dopo che ordini di acquisto, fatture e record di consegna sono stati abbinati da un codice concatenato, può contabilizzare un evento in modo che un'applicazione di sottoscrizione possa elaborare i pagamenti correlati e aggiornare un sistema ERP interno.

Risorse per lo sviluppo di Chaincode

Oracle Blockchain Platform utilizza Hyperledger Fabric come base. Utilizzare la documentazione di Hyperledger Fabric per scrivere codici concatenati validi.

  • Benvenuti in Hyperledger Fabric. Prima di scrivere il codice concatenato personale, leggere le sezioni Concetti chiave ed esercitazioni.

  • Go Programming Language. I compilatori, gli strumenti e le librerie Go forniscono una vasta gamma di risorse che semplificano la scrittura di codici concatenati.

  • Shim package. Lo shim del pacchetto fornisce API per il codice concatenato per accedere alle relative variabili di stato, ottenere il contesto della transazione e chiamare altri codici concatenati. La documentazione shim del pacchetto descrive la sintassi effettiva richiesta per il codice concatenato.

Oracle Blockchain Platform fornisce esempi scaricabili che ti aiutano a capire come scrivere codici concatenati e applicazioni. Vedere Definizione di esempi di codice concatenato

È possibile aggiungere la sintassi Rich Query ai codici concatenati per eseguire query sul database di stato. Vedere Sintassi query Rich SQL e CouchDB Sintassi query Rich.

Crea un package per un Go Chaincode

Dopo aver scritto il codice concatenato, comprimerlo in un file in formato .zip. Non è necessario creare un package per il codice concatenato Go o firmarlo. Il processo di installazione e distribuzione di Oracle Blockchain Platform esegue questa operazione automaticamente, come descritto in Workflow tipico per la distribuzione dei codici concatenati.

Se il codice concatenato contiene dipendenze esterne, è possibile inserirle nella directory del fornitore del file .zip.

Fornisci codici concatenati Shim per Go

La dipendenza shim codice concatenato Go non è più inclusa in Hyperledger Fabric. Lo shim deve ora essere venduto (importato) ai codici concatenati Go prima di essere installato su un peer.

È possibile utilizzare moduli Go o uno strumento di terze parti come il govendor per fornire lo shim del codice concatenato e aggiornarlo alla versione che funziona con Hyperledger Fabric.

Per ulteriori informazioni, vedere Chaincode shim changes (solo Go chaincode) e Upgrade Chaincodes con shim vendor nella documentazione Hyperledger Fabric. Per ulteriori informazioni sui moduli Go, vedere Riferimento ai moduli Go.

Crea package di un codice concatenato Node.js

Se si sta scrivendo un codice concatenato Node.js, è necessario creare un file package.json con due sezioni:
  • La sezione scripts spiega come avviare il codice concatenato.

  • La sezione dependencies specifica le dipendenze.

Di seguito è riportato un esempio di package.json per un codice concatenato 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 seguenti regole di packaging si applicano ai codici concatenati Node.js.
  • Il file package.json deve trovarsi nella directory root.
  • Il file JavaScript della voce può essere posizionato in qualsiasi punto del pacchetto.
  • Se "start" : "node <start>.js" non è specificato nel file package.json, il file server.js deve trovarsi nella directory root.

Comprimere il codice concatenato e il file del pacchetto in formato .zip per installarlo in Oracle Blockchain Platform.

Crea un package per Java Chaincode

Se stai scrivendo un codice concatenato Java, puoi scegliere Gradle o Maven per creare il codice concatenato.

Se si utilizza Gradle, comprimere il codice concatenato, build.gradle e settings.gradle in un file in formato .zip per installarlo in Oracle Blockchain Platform. L'elenco seguente mostra i file di esempio in un pacchetto codice concatenato:
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
Se si utilizza Maven, comprimere il codice concatenato e pom.xml in un file in formato .zip per installarlo in Oracle Blockchain Platform. L'elenco seguente mostra i file di esempio in un pacchetto codice concatenato:
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 di un codice concatenato

Testare il codice concatenato dopo averlo scritto. Vedere gli argomenti seguenti:

Installazione e distribuzione di un codice concatenato

Dopo aver eseguito il test del codice concatenato, è possibile distribuirlo seguendo le informazioni riportate in Workflow tipico per la distribuzione dei codici concatenati.

Aggiornamento di un codice concatenato

Aggiorna un codice concatenato distribuito seguendo la procedura descritta in Aggiorna un codice concatenato.