Eingabespezifikationsdatei
Der Initialisierungsbefehl Blockchain App Builder liest die Eingabespezifikationsdatei und generiert das gerüstete Projekt, das Tools zur Unterstützung des Chaincode-Entwicklungsprozesses enthält.
In der Spezifikationsdatei können Sie mehrere Assetdefinitionen und -verhalten, CRUD- und Nicht-CRUD-Methodendeklaration, benutzerdefinierte Methoden, Validierung von Argumenten, Auto-Marshalling/Unmarshalling, transparente Persistenzfunktion und die Möglichkeit angeben, Rich-Data-Abfragen mit SQL SELECT-Anweisungen oder der Abfragesprache CouchDB abzuschließen. Diese Funktionen werden für Sie generiert.
Fabcar-Typescript.yml
Marbles-Go.yml
Hinweis:
Entsprechend den Go-Konventionen beginnen exportierte Namen mit einem Großbuchstaben. Daher müssen alle Asset-Eigenschaften und -Methoden Namen haben, die mit Großbuchstaben in der Spezifikationsdatei beginnen.Struktur der Spezifikationsdatei
Normalerweise strukturieren Sie eine Spezifikationsdatei wie folgt:
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
Blockchain App Builder unterstützt zwei spezielle Assettypen, eingebettete Assets und Tokenassets, zusätzlich zu generischen Assets ohne angegebenen Typ. Die speziellen Assets sind als type: embedded
oder type: token
im Abschnitt assets:
der Spezifikationsdatei definiert.
Tabelle 3-2: Beschreibungen und Beispiele für Spezifikationsdateiparameter
Eintrag | Beschreibung | Beispiele |
---|---|---|
assets: |
Diese Eigenschaft übernimmt die Definition und das Verhalten des Assets. Sie können mehrere Anlagen definieren. |
|
name: |
Der Name der Anlage. Die folgenden Namen sind reserviert. Verwenden Sie diese Namen nicht für Assets.
|
|
type: |
Vermögensgegenstandstypen Die folgenden speziellen Assettypen werden unterstützt:
Wenn Sie keinen Parameter |
|
type: Typ: eingebettet |
Wenn diese Eigenschaft auf Im Beispiel ist die Eigenschaft Eingebettete Assets unterstützen keine Zirkelreferenzen. Beispiel: Im vorherigen Beispiel darf das Asset |
Anlage:
employee
Anlage:
address
|
properties: |
Beschreibt alle Eigenschaften eines Assets. |
|
name: |
Der Name der Eigenschaft. |
|
id: |
Gibt die ID dieses Assets an. Diese Eigenschaft ist erforderlich. |
|
type: |
Eigenschaftstypen Die folgenden grundlegenden Eigenschaftstypen werden unterstützt:
Bei Go-Chaincodes wird
number int zugeordnet, und float float64 . Andere Typen werden derzeit nicht unterstützt, einschließlich der folgenden Typen:
|
|
derived: |
Diese Eigenschaft gibt an, dass die id-Eigenschaft von anderen Schlüsseln abgeleitet ist. Abhängige Eigenschaften müssen den Datentyp Diese Eigenschaft hat zwei obligatorische Parameter:
Beispiel 1:
Beispiel 2:
|
Beispiel 1
Beispiel 2
|
mandatory: |
Die entsprechende Eigenschaft ist erforderlich und kann beim Erstellen einer Anlage nicht übersprungen werden. |
|
default: |
Der Standardwert dieser Eigenschaft. |
|
validate: |
Die angegebene Eigenschaft wird anhand einiger der einsatzbereiten Validierungen validiert, die von Blockchain App Builder bereitgestellt werden. Sie können Validierungen ketten, wenn Sie sicherstellen, dass die Kette gültig ist. Wenn die Eigenschaft |
|
validate: Typ: Nummer |
Diese Validierungen können durch Kommas getrennt miteinander verkettet werden. |
|
validate: Typ: String |
Bei Go-Kettencodes müssen reguläre Ausdrücke, die bestimmte reservierte Zeichen oder Leerzeichen enthalten, ordnungsgemäß maskiert werden. |
|
validate: Typ: boolesch |
Im Beispiel erfolgt die Validierung der Eigenschaft |
|
validate: Typ: Array |
Durch den Typ selbst in Form von Sie können Limits für das Array im Format |
|
validate: Typ: Datum |
Das Datum muss eines der folgenden Formate haben:
|
|
methods: |
Verwenden Sie diese Option, um anzugeben, welche der CRUD-Methoden (Erstellen/Lesen/Aktualisieren/Löschen) oder zusätzliche Methoden generiert werden sollen. Standardmäßig werden alle CRUD- und anderen Methoden generiert. |
|
crud: |
Wenn dieses Array leer bleibt, werden keine CRUD-Methoden erstellt. Wenn der Parameter Der Parameter |
|
others: |
Wenn dieses Array leer bleibt, werden keine anderen Methoden erstellt. Wenn der Parameter Der Parameter |
|
customMethods: |
Diese Eigenschaft erstellt aufrufbare benutzerdefinierte Methodenvorlagen in der Hauptcontrollerdatei. Es nimmt die Methodensignatur und erstellt die Funktionsdeklaration in der Controller-Datei. Hier können Sie sprachspezifische Funktionsdeklarationen angeben. Eine benutzerdefinierte Methode namens |
TypeScript
Los
|