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 di 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 di notificare le applicazioni e completare le operazioni a valle. Ad esempio, dopo che gli ordini di acquisto, le fatture e i record di consegna sono stati abbinati da un codice concatenato, è possibile pubblicare un evento in modo che un'applicazione che effettua la 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 facilitare la scrittura di codici concatenati validi.

  • Benvenuti in Hyperledger Fabric. Leggere le sezioni Concetti chiave ed esercitazioni prima di scrivere il codice concatenato.

  • Go Programming Language. I compilatori, gli strumenti e le librerie Go forniscono una varietà di risorse che semplificano la scrittura dei 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 SQL Rich Query e CouchDB Rich Query Syntax.

Imballaggio di un codice concatenato Go

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 lo shim per Go Chaincodes

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 with vendor shim nella documentazione di Hyperledger Fabric. Per ulteriori informazioni sui moduli Go, vedere Go Modules Reference.

Inserisci 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 indica 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 il file "start" : "node <start>.js" non viene 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 codice concatenato Java

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

Prova il tuo 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.