チェーンコードのインスタンス化

(Hyperledger Fabric v1.4.7)チェーンコードをインスタンス化すると、チェーンコードがインストールされているピアでチェーンコードがコンパイル、ビルドおよび初期化されます。インスタンス化が完了すると、ピアはチェーンコードの呼出しを受け入れることができ、トランザクションをエンドースできます。

次の点に注意してください。
  • チェーンコードをインスタンス化する前に、必要なピアにチェーンコードをインストールする必要があります。
  • 複数のメンバーが含まれるチャネルで作業しており、あるメンバーのチェーンコードをインスタンス化している場合は、同じチェーンコードをインストールした他のメンバーのチェーンコードをインスタンス化する必要はありません。このような場合、チェーンコードはすでにインスタンス化され、チャネル上のすべてのメンバーで実行されています。
  • チャネルで複数のチェーンコードをインスタンス化することができます。
  • サンプル・チェーンコードをインスタンス化するプロセスは、このトピックで説明するインスタンス化プロセスとは異なります。「サンプルを使用したOracle Blockchain Platformの確認(Hyperledger Fabric v1.4.7)」を参照してください。
  • チェーンコードをインスタンス化したら、オプションでRESTプロキシで有効にすることができます。
このタスクを実行できるのは、管理者のみです。
  1. コンソールに移動し、チェーンコード・タブを選択します。
  2. チェーンコード・タブで、矢印をクリックしてチェーンコードのバージョン・リストを展開します。
  3. Locate the chaincode version and click its More Actions menu, and select Instantiate.
    チェーンコードのインスタンス化・ダイアログが表示されます。
  4. どこでどのようにチェーンコードをインスタンス化するかについての情報を入力します。
    フィールド 説明
    チャネル チェーンコードを実行するチャネルを選択します。
    同僚 チェーンコードを使用するピアを選択します。このリストには、チェーンコードをインストールしたピアが表示されます。
    初期パラメータ チェーンコードに渡す入力パラメータを入力します。チェーンコードに移動して、初期パラメータの値を確認します。
    エンドースメント・ポリシー このセクションでは、チェーンコードをエンドースするのに必要なメンバーの数およびロールを指定します。

    エンドースメント・ポリシーを指定しない場合は、デフォルトのエンドースメント・ポリシーが使用されます。デフォルトのエンドースメント・ポリシーでは、ネットワーク上の任意のピアからエンドースメントを取得します。

    一時マップ

    チェーンコードに渡されるデータは、トランザクション・ペイロードおよび一時マップです。トランザクション・ペイロードはレジャーに記録され、問合せシステム・チェーンコードを介してレジャーにアクセスできるすべてのユーザーに表示されます。一時マップを使用して、レジャーに格納しないキーなどのプライベート・データを渡します。

    このセクションでは、必要なキーおよび値を指定します。指定した情報はピア・ノードで保持され、トランザクションが実行されるときにチェーンコードに送信されます。

    プライベート・データ・コレクションを追加する場合、承認のためにプライベート・データをクライアントからピアに渡すための一時マップを指定します。

    プライベート・データ・コレクション このセクションでは、1つ以上のプライベート・データ・コレクションを追加します。プライベート・データ・コレクションは、チェーンコードをインスタンス化するチャネルでプライベート・データのエンドース、コミットまたは問合せを行う組織のサブセットを指定します。
  5. 「インスタンス化」をクリックします。
    チェーンコードがインスタンス化されます。
  6. チェーンコードがインスタンス化されたことを確認するには、チャネル・タブに移動し、チェーンコードをインスタンス化したチャネルの名前をクリックします。「インスタンス化されたチェーンコード」タブに移動し、チェーンコードがサマリー表に表示されていることを確認します。