ブロックチェーン・アプリケーション・ビルダー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メソッドを持つコントローラが含まれています。

出力