Chaincode-Projekt mit der Blockchain App Builder-CLI erstellen

Um ein Chaincode-Projekt mit der Blockchain App Builder-CLI zu erstellen, scaffolden Sie ein Chaincode-Projekt aus einer detaillierten Spezifikationsdatei. Das generierte Projekt enthält dann alle Dateien, die Sie benötigen.

Hintergrund

Mit dem Befehl 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 mit den folgenden Features generieren:
  • 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, mit dem die Eigenschaften eines Assets, die im Buch verwaltet werden, als typisierte Felder angegeben und mit bestimmten Verhaltensweisen und Validierungsregeln erweitert werden können. Dieses Muster reduziert die Anzahl der Codezeilen, was die Lesbarkeit und Skalierbarkeit verbessert.

Voraussetzungen

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

Das Chaincode-Projekt mit dem Befehl init rüsten

Wenn Sie 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 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üstprojekt 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. Wenn keine Angabe gemacht wird, wird das Gerüstprojekt im aktuellen Verzeichnis generiert.

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

  • --root/-r

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

Beispiel
my-mac:~ name$ ochain init --cc MyNewTsProject --lang ts --conf spec.yml

Standard

Wenn im Befehl ochain init keine Optionen angegeben sind, lautet der Name des Gerüstprojekts MyChaincode, und die Sprache ist 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

Nach Abschluss des Prozesses steht Ihnen ein voll funktionsfähiges Chaincode-Projekt zur Verfügung, 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: