チャンネル内の既存のチェーンコードをアップグレードして、そのソースコード、バージョン番号、デプロイメントチャンネル、承認ポリシー、または非公開データ収集設定を更新します。
このトピックは Fabric V2.2 インスタンスに適用されます。Fabric V1.4 については、「チェーンコードの管理 (V1.4)」をご参照ください。
チェーンコードは Hyperledger Fabric フレームワークでスマートコントラクトを実装し、Node.js、Go、または Java で記述できます。今後、さらに多くの言語がサポートされる予定です。
前提条件
開始する前に、以下を確認してください。
チャンネルにチェーンコードがすでにデプロイされていること。まだチェーンコードがデプロイされていない場合は、「チェーンコードのデプロイ」をご参照ください。
チェーンコードのアップグレード
ステップ 1: チェーンコードパッケージの更新と再デプロイ (オプション)
ソースコードを変更せずに承認ポリシーまたは非公開データ収集設定のみを更新する場合は、このステップをスキップしてください。
ソースコードを更新するには、ローカルで変更し、パッケージ化してチャンネルにデプロイします。「チェーンコードのデプロイ」の「チェーンコードのアップロード」、「チェーンコードのインストール」、および「チェーンコード定義の提出」セクションに従ってください。
デプロイメント後、[アクション] 列に アップグレード が表示され、[チャネルでのステータス] 列に 実行中 と表示されます。
ステップ 2: アップグレードの開始
チェーンコードリストで、アップグレードするチェーンコードの[操作]列にある[アップグレード]をクリックします。
ステップ 3: パラメーターの確認と変更
表示されるダイアログボックスで、パラメーターを確認し、必要に応じて更新します。

チェーンコード名は変更しないでください。[プライバシーセット構成] パラメーターでは、name および blockToLive の JSON フィールドは、一度設定すると(スペックアップ中を含む)変更できません。
ステップ 4: アップグレードリクエストの提出
[アップグレード] をクリックします。アップグレードされたチェーンコードのレコードが組織のチェーンコードリストに表示され、[チャネル内のステータス] 列が [コンセンサス中] に変わります。

ステップ 5: 別の組織からのチェーンコード定義の確認と提出
チャンネル内の別の組織で、チェーンコード定義を確認して提出します。「チェーンコードのデプロイ」の「チェーンコード定義の提出」セクションに従ってください。
すべての必要な組織がアップグレードを承認すると、新しいチェーンコード レコードが元のレコードに置き換えられます。[チャネル内のステータス] 列のステータスは [合意形成中] から [実行中] に変更され、[アップグレード] および [ログの表示] が [操作] 列に表示されます。

デフォルトでは、アップグレードが有効になる前に、チャンネル内の組織の少なくとも 50% がチェーンコード定義を承認する必要があります。