入力仕様ファイル
ブロックチェーン・アプリケーション・ビルダーの初期化コマンドは、入力仕様ファイルを読み取り、チェーンコード開発プロセスを支援するツールを含むスキャフォールド済プロジェクトを生成します。
仕様ファイルを使用すると、複数のアセット定義と動作、CRUDと非CRUDメソッド宣言、カスタム・メソッド、引数の検証、自動整列化/非整列の化、透過的永続性機能、およびSQL SELECT文またはCouchDB問合せ言語でリッチ・データ問合せを完了する機能を指定できます。これらの機能は自動的に生成されます。
Fabcar-Typescript.yml
Marbles-Go.yml
ノート:
Go規則に従って、エクスポートされた名前は大文字で始まります。したがって、すべてのアセット・プロパティおよびメソッドには、仕様ファイル内で大文字で始まる名前が必要です。仕様ファイルの構造
通常、仕様ファイルは次のように構成します:
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
ブロックチェーン・アプリケーション・ビルダーでは、タイプが指定されていない汎用アセットに加えて、埋込みアセットとトークン・アセットの2つの特殊なアセット・タイプがサポートされています。特殊アセットは、仕様ファイルのassets:
セクションの下にtype: embedded
またはtype: token
として定義されます。
表3-2仕様ファイルのパラメータの説明および例
開始時 | 説明 | 例 |
---|---|---|
assets: |
このプロパティは、アセットの定義および動作を使用します。複数の資産を定義できます。 |
|
name: |
アセットの名前。 次の名前は予約されています。これらの名前はアセットに使用しないでください。
|
|
type: |
資産タイプ 次の特殊アセット・タイプがサポートされています:
|
|
type: タイプ: 埋め込み |
このプロパティが この例では、プロパティ 埋込みアセットは循環参照をサポートしていません。たとえば、前述の例では、 |
アセット:
employee
アセット:
address
|
properties: |
アセットのプロパティをすべて記述します。 |
|
name: |
プロパティの名前 |
|
id: |
これは、このアセットの識別子を指定します。このプロパティは必須です。 |
|
type: |
プロパティ・タイプ 次の基本プロパティ・タイプがサポートされています:
Goチェーンコードの場合、
number はint にマップされ、float はfloat64 にマップされます。現在、次のタイプを含む他のタイプはサポートされていません:
|
|
derived: |
このプロパティは、idプロパティが他のキーから導出されることを指定します。依存プロパティは、埋込みアセットではなく、 このプロパティには、次の2つの必須パラメータがあります:
例1:
例2:
|
例1
例2
|
mandatory: |
対応するプロパティは必須であり、アセットの作成時にスキップできません。 |
|
default: |
このプロパティーのデフォルト値。 |
|
validate: |
指定されたプロパティは、ブロックチェーン・アプリケーション・ビルダーによって提供されるすぐに使用できる検証の一部に対して検証されます。チェーンが有効であることを確認した場合は、検証を連鎖させることができます。
|
|
validate: タイプ: 番号 |
これらの検証は、カンマで区切って連鎖できます。 |
|
validate: タイプ: string |
Goチェーンコードでは、特定の予約文字または空白文字を含む正規表現を適切にエスケープする必要があります。 |
|
validate: タイプ: boolean |
この例では、プロパティ |
|
validate: type: 配列 |
型自体により、 配列に制限は、 |
|
validate: タイプ: 日付 |
日付は次のいずれかの形式である必要があります。
|
|
methods: |
これを使用して、どのCRUD (作成/読取り/更新/削除)または追加のメソッドを生成するかを指定します。 デフォルトでは、すべてのCRUDおよびその他のメソッドが生成されます。 |
|
crud: |
この配列を空のままにすると、CRUDメソッドは作成されません。
|
|
others: |
この配列を空のままにすると、他のメソッドは作成されません。
|
|
customMethods: |
このプロパティは、メイン・コントローラ・ファイルに呼出し可能なカスタム・メソッド・テンプレートを作成します。メソッド・シグネチャを取得し、コントローラ・ファイルに関数宣言を作成します。 ここでは、言語固有の関数宣言を指定できます。
|
TypeScript
移動
|