プライベート・データ・コレクションの追加

(Hyperledger Fabric v1.4.7)プライベート・データ・コレクションをチャネルに追加できます。プライベート・データ・コレクションは、チャネルでプライベート・データのエンドース、コミットまたは問合せを行う組織のサブセットを指定します。

プライベート・データ・コレクションは、チャネル上の組織のグループでトランザクション内のデータを共有し、チャネル上の他の組織がデータを参照できないようにする場合に使用します。

ネットワーク内の組織全体でプライベート・データ・コレクションを使用する場合、アンカー・ピアを構成する必要があります。アンカー・ピアは、組織間のプライベート・データ・ゴシップを円滑化します。「アンカー・ピアの追加」を参照してください。

チェーンコードをインスタンス化するときにプライベート・データ・コレクションを指定します。

  1. コンソールに移動し、チェーンコード・タブを選択します。
  2. インスタンス化するチェーンコードを特定し、インスタンス化プロセスを開始します。
  3. プライベート・データ・コレクション・セクションを展開し、必要に応じてコレクション定義を追加します。
    フィールド 説明
    コレクション名 コレクションの名前を入力してください。チェーンコード内ではこの名前で参照します。
    ポリシー

    ポリシーを作成して、コレクションに含める組織とプライベート・データを格納できるピアを指定します。

    ポリシーにリストされている各メンバーは、OR署名ポリシー・リストに含まれている必要があります。

    読取り/書込みトランザクションをサポートするには、ピアがトランザクションをエンドースするためにプライベート・データをする必要があるため、プライベート・データ分散ポリシーにチェーンコード・エンドースメント・ポリシーより多くの組織が含まれる必要があります。たとえば、10の組織があるチャネルでは、5つの組織がプライベート・データ・コレクション・ポリシーに含まれますが、エンドースメント・ポリシーにはトランザクションを支持するために3つの組織が必要です。

    必要なピア

    各エンドース・ピアがプライベート・データを分散させるピアの数を入力します。この数のピアにプライベート・データを分散させると、ピアがエンドースメントに署名し、提案レスポンスを返します。

    Oracleでは、この値を1つ以上のピアに設定することをお薦めします。
    • ネットワーク内の複数のピアでプライベート・データの冗長性を確保します。
    • エンドース・ピアが使用不可になった場合でもプライベート・データを使用できるようにします。

    この値を0に設定した場合、分散は必要ないことに注意してください。ただし、最大ピア数フィールドが0より大きい値に設定されている場合は、プライベート・データ分散が行われる可能性があります。

    最大ピア数

    現在のエンドース・ピアがデータの分散を試みるピアの最大数を入力します。これは、エンドース・ピアを使用できない場合に、エンドースメント時間とコミット時間の間でプライベート・データの取得にピアを利用できるように、冗長性を保証するためです。

    この値を0に設定した場合、プライベート・データはエンドースメント時に分散されません。これにより、コミット時、認可されたすべてのピアで、プライベート・データ・プルが承認ピアに対して行われます。

    存続ブロック

    プライベート・データベースにデータを保持する長さをブロック数で入力します。ブロック数に達すると、データがパージされます。

    データをパージしない場合は、この値を0に設定します。

    プライベート・データ・コレクションのblocktolive値が10未満で、そのrequiredPeerCountおよびmaxPeerCount値がチャネル内のピアの合計数未満の場合、ピアが別のピアからプライベート・データをプルできない可能性があることに注意してください。これは、Hyperledger Fabricの既知の問題です。

  4. 「新規コレクションの追加」をクリックすると、コレクションの情報がプライベート・データ・コレクション表に表示されます。
  5. 必要に応じて、他のコレクションを指定します。
  6. 必要に応じて、チェーンコードのインスタンス化ページの他のフィールドに入力します。
  7. 「インスタンス化」をクリックします。