Chaincode-Projekt mit der Blockchain App Builder-CLI erstellen

Um ein Chaincode-Projekt mit Blockchain App Builder zu erstellen, erstellen Sie ein Chaincode-Projekt aus einer detaillierten Spezifikationsdatei.

Hintergrund

Der Befehl init des Blockchain App Builder initialisiert und erstellt ein einsatzbereites Chaincode-Projekt. Der Befehl init kann basierend auf einer einfachen Eingabe komplexe Chaincode-Projekte generieren, die folgende Features enthalten:
  • Mehrere Assets (Modelle) und deren Verhalten (Controller)
  • Automatisch generierte CRUD- (Erstellen/Lesen/Aktualisieren/Löschen) und Nicht-CRUD-Methoden
  • Automatische Validierung von Argumenten
  • Marshalling/Unmarshalling von Argumenten
  • Transparente Persistenzfunktion (ORM)
  • Rich Query-Unterstützung

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 bei der Lesbarkeit und Skalierbarkeit helfen kann.

Voraussetzungen

Bevor Sie ein Projekt erstellen, müssen Sie eine Eingabespezifikationsdatei erstellen. Weitere Informationen finden Sie unter Eingabespezifikationsdatei.

Errichten des Chaincode-Projekts mit dem Befehl init

Wenn Sie ochain init -h eingeben, werden die Befehlsverwendung und -optionen aufgeführt. Der Befehl init hat die folgenden Optionen:
  • --cc/-c:

    Der Name des Chaincode-Projekts. Der Standardwert ist MyChaincode.

  • --lang/-l

    Die Sprache des gerüsteten Kettencodes. Blockchain App Builder unterstützt TypeScript (ts) und Go (go). Wenn keine Option angegeben ist, wird standardmäßig die Sprache ts verwendet.

  • --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 dazu beitragen, den gesamten Entwicklungsaufwand zu reduzieren. Die vollständige Nutzung der Eingabespezifikationsdatei kann die Entwicklungszeit erheblich verkürzen.

    Die Spezifikationsdatei kann das Format yaml oder json 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. Falls nicht angegeben, wird das gerüstete Projekt im aktuellen Verzeichnis generiert.

    Die Ausgabe ist ein vollständig enthaltenes, leichtgewichtiges und skalierbares TypeScript- oder Go-Chaincode-Projekt.

  • --root/-r

    Gültig und erforderlich nur für Go. Das Root-Verzeichnis in der Variablen GOHOME für Ihre Go-Chaincodes. Der Standardwert ist example.com.

Beispiel
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 lautet 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

Wenn der Prozess abgeschlossen ist, erhalten Sie ein voll funktionsfähiges Chaincode-Projekt, das Sie entweder lokal oder in einer Remote-Oracle Blockchain Platform-Instanz bereitstellen können. Eine detaillierte Übersicht über die erstellten Dateien finden Sie unter: Eine detaillierte Übersicht über ein tokenbasiertes Projekt finden Sie auch unter: