すべてのプロダクト
Search
ドキュメントセンター

Blockchain as a Service:チェーンコードのアップグレード

最終更新日:Jan 19, 2025

Hyperledger Fabric フレームワークでは、チェーンコードはスマートコントラクトを実装します。チェーンコードは、Node.js、Go、または Java で記述できます。今後、さらに多くの言語がサポートされる予定です。このトピックでは、チャネル内の既存のチェーンコードをアップグレードする方法について説明します。

説明

この章は、Fabric V2.2 のインスタンスを購入したユーザーに適用されます。 Fabric V1.4 のインスタンスを購入した場合は、「チェーンコードの管理 (V1.4)」のチェーンコードのアップグレードに関するセクションをご参照ください。

手順

チャネルにチェーンコードをデプロイしていない場合は、「チェーンコードのデプロイ」をご参照ください。チェーンコードパッケージのアップグレードでは、チェーンコードのソースファイル、バージョン番号、デプロイチャネル、エンドースメントポリシー、またはプライベートデータコレクションの構成を変更できます。チェーンコードをアップグレードするには、次の手順を実行します。

  1. (オプション) チェーンコードのソースファイルをローカルで変更し、ソースファイルをパッケージ化してから、チェーンコードをデプロイします。チェーンコードのデプロイ方法の詳細については、「チェーンコードのデプロイ」トピックの「チェーンコードのアップロード」、「チェーンコードのインストール」、および「チェーンコード定義の送信」のセクションをご参照ください。チェーンコードをデプロイした後、アップグレードアクションチャネル内の状態実行中 列に が表示され、 列のステータスが に変わります。

  2. アップグレードアクション 列の をクリックします。

  3. 表示されるダイアログボックスで、パラメーターを表示し、必要に応じて変更します。チェーンコードの名前は変更しないでください。

    Modify parameters

    説明

    「プライバシーセットの構成」パラメーターで JSON データを編集する場合、name または blockToLive を設定すると、アップグレード中に変更できなくなります。

  4. [アップグレード] をクリックします。チェーンコードがアップグレードされると、組織のチェーンコードリストにチェーンコードのレコードが表示され、チェーンコードの [チャネル内のステータス] 列のステータスが [コンセンサス中] に変わります。

    Upgrade a chaincode

  5. チャネル内の別の組織でチェーンコード定義を確認して送信します。チェーンコード定義を確認して送信する方法の詳細については、「チェーンコードのデプロイ」トピックの「チェーンコード定義の送信」のセクションをご参照ください。チェーンコードがアップグレードされると、新しいチェーンコードのレコードが元のチェーンコードのレコードを上書きし、チェーンコードの チャネルの状態コンセンサスで実行中アップグレードログの表示アクション 列のステータスが から に変わり、 列に と が表示されます。

    Upgraded

    説明

    デフォルトでは、チェーンコードは、チャネル内の組織の 50% がインスタンス化を承認した後にのみインスタンス化できます。