ブロックチェーン・アプリケーション・ビルダーCLIを使用したチェーンコード・プロジェクトの作成
ブロックチェーン・アプリケーション・ビルダーCLIの使用時にチェーンコード・プロジェクトを作成するには、チェーンコード・プロジェクトを詳細な仕様ファイルからスキャフォールディングします。生成されたプロジェクトには、必要なすべてのファイルが含まれます。
バックグラウンド
init
コマンドは、すぐに使用できるチェーンコード・プロジェクトを初期化してスキャフォールディングします。init
コマンドは、単純な入力に基づいて、次の機能を含む複雑なチェーンコード・プロジェクトを生成できます:
- 複数のアセット(モデル)とその動作(コントローラ)
- CRUD (作成/読取り/更新/削除)およびCRUD以外のメソッドの自動生成
- 引数の自動検証
- 引数のマーシャリング/アンマーシャリング
- 透過的永続性機能(ORM)
- リッチ・クエリーを呼び出す機能
生成されたプロジェクトは、モデル/コントローラおよびデコレータ・パターンに従います。これにより、レジャーで保持されるアセットのプロパティを型付きフィールドとして指定し、特定の動作および検証ルールで拡張できます。このパターンにより、コード行数が削減され、読みやすさとスケーラビリティに役立ちます。
前提条件
プロジェクトをスキャフォールドする前に、入力仕様ファイルを作成する必要があります。詳細は、「入力仕様ファイル」を参照してください。
init
コマンドを使用したチェーンコード・プロジェクトのスキャフォールド
ochain init -h
と入力すると、コマンドの使用方法がそのすべてのオプションにリストされます。init
コマンドのオプションは次のとおりです:
- --cc/-c:
チェーンコードプロジェクトの名前。デフォルト値は
MyChaincode
です。 - --lang/-l
スキャフォールドされたチェーンコードの言語。ブロックチェーン・アプリケーション・ビルダーは、タイプスクリプト(
ts
)および実行(go
)をサポートしています。オプションを指定しない場合、言語はデフォルトでts
に設定されます。 - --conf/-fまたは--spec
入力仕様ファイルへのパス。ブロックチェーン・アプリケーション・ビルダーは、入力仕様ファイルを読み取り、多くのヘルパー・ツールを使用してスキャフォールド済プロジェクトを生成します。これは、開発作業全体の削減に役立ちます。入力仕様ファイルを最大限に活用することで、開発時間を大幅に削減できます。
仕様ファイルの形式は、
yaml
またはjson
です。パスを指定しない場合、デフォルトで現在のディレクトリが使用されます。「入力仕様ファイル」を参照してください。 - --out/-o
スキャフォールド済チェーンコード・プロジェクトの出力ディレクトリ。指定しない場合、スキャフォールド済プロジェクトは現在のディレクトリに生成されます。
出力は、内容が完全で、軽量かつスケーラブルなTypescriptまたはGoチェーンコード・プロジェクトです。
- --root/-r
有効で、実行にのみ必要です。GoチェーンコードのGOHOME変数のルート・ディレクトリ。デフォルト値は
example.com
です。
my-mac:~ name$ ochain init --cc MyNewTsProject --lang ts --conf spec.yml
デフォルト
ochain init
コマンドでオプションが指定されていない場合、スキャフォールド済プロジェクトの名前はMyChaincode
で、言語はTypeScriptです。
MyChaincode.model.ts
ファイルには、value
という名前のプロパティを持つMyAsset
という名前のアセットのみが含まれます。MyChaincode.controller.ts
ファイルには、MyAsset
モデルに対応するCRUDメソッドを持つコントローラが含まれています。
出力