Chaincode-Projekt mit der Blockchain App Builder-CLI erstellen
Um ein Chaincode-Projekt zu erstellen, wenn Sie die Blockchain App Builder-CLI verwenden, erstellen Sie ein Chaincode-Projekt aus einer detaillierten Spezifikationsdatei. Das generierte Projekt enthält dann alle Dateien, die Sie benötigen.
Hintergrund
init
von Blockchain App Builder wird ein einsatzbereites Chaincode-Projekt initialisiert und gerüstet. Basierend auf einer einfachen Eingabe kann der Befehl init
komplexe Chaincode-Projekte generieren, die folgende Features enthalten:
- Mehrere Assets (Modelle) und ihr Verhalten (Controller)
- CRUD-Methoden (Erstellen/Lesen/Aktualisieren/Löschen) und Nicht-CRUD-Methoden automatisch generieren
- Automatische Validierung von Argumenten
- Marshalling/Unmarshalling von Argumenten
- Transparente Persistenzfähigkeit (ORM)
- Die Möglichkeit, umfangreiche Abfragen aufzurufen
Das generierte Projekt folgt dem Modell-/Controller- und Dekorationsmuster. Dadurch können die Eigenschaften eines Assets, die im Buch verwaltet werden, als typisierte Felder angegeben und mit bestimmten Verhaltensweisen und Validierungsregeln erweitert werden. Dieses Muster reduziert die Anzahl der Codezeilen, was die Lesbarkeit und Skalierbarkeit verbessert.
Voraussetzungen
Bevor Sie ein Projekt erstellen, müssen Sie eine Eingabespezifikationsdatei erstellen. Weitere Informationen finden Sie unter Eingabespezifikationsdatei.
Erstellen des Chaincode-Projekts mit dem Befehl init
ochain init -h
eingeben, wird die Befehlsverwendung mit allen zugehörigen Optionen aufgelistet. Der Befehl init
enthält die folgenden Optionen:
- --cc/-c:
Der Name des Chaincode-Projekts. Der Standardwert ist
MyChaincode
. - --lang/-l
Die Sprache des gerüsteten Chaincodes. Blockchain App Builder unterstützt Typescript (
ts
) und Go (go
). Wenn keine Option angegeben ist, lautet der Standardwert für die Sprachets
. - --conf/-f oder --spec
Der Pfad zu einer Eingabespezifikationsdatei. Blockchain App Builder liest die Eingabespezifikationsdatei und generiert das gerüstete Projekt mit vielen Hilfstools, die dabei helfen, den gesamten Entwicklungsaufwand zu reduzieren. Die volle Nutzung der Eingabespezifikationsdatei kann die Entwicklungszeit erheblich verkürzen.
Die Spezifikationsdatei kann das Format
yaml
oderjson
aufweisen. Wenn der Pfad nicht angegeben ist, wird standardmäßig das aktuelle Verzeichnis verwendet. Siehe Eingabespezifikationsdatei. - --out/-o
Das Ausgabeverzeichnis des gerüsteten Chaincode-Projekts. Wenn keine Angabe gemacht wird, wird das Gerüstprojekt im aktuellen Verzeichnis generiert.
Die Ausgabe ist ein vollständig enthaltenes, leichtes und skalierbares Typescript- oder Go-Chaincode-Projekt.
- --Root/-r
Gültig und nur für Go erforderlich. Das Root-Verzeichnis in der Variablen GOHOME für Ihre Go-Chaincodes. Der Standardwert ist
example.com
.
my-mac:~ name$ ochain init --cc MyNewTsProject --lang ts --conf spec.yml
Standardwerte
Wenn im Befehl ochain init
keine Optionen angegeben sind, lautet der Name des gerüsteten Projekts MyChaincode
und die Sprache TypeScript.
Die Datei MyChaincode.model.ts
enthält nur ein Asset namens MyAsset
mit einer Eigenschaft namens value
. Die Datei MyChaincode.controller.ts
enthält einen Controller mit den entsprechenden CRUD-Methoden für das Modell MyAsset
.
Ausgabe