升级链码

链码是Hyperledger Fabric技术框架中对智能合约的实现,支持业界流行的编程语言Go、Node.js,并不断完善Java等语言的支持。本文主要介绍如何升级通道中已有的链码。

说明

本章节适用于购买Fabric 2.2版本实例的用户,如果您是Fabric 1.4 版本实例的用户,请参见管理链码(V1.4)升级链码。

操作步骤

如果您还未在通道内部署新的链码,请参考部署链码。升级链码包时,涉及链码源文件、版本号、部署通道、背书策略或隐私集配置的修改,具体升级方法如下。

  1. (可选)在本地对链码源文件进行改动升级,并打包,然后参见部署链码中的上传链码安装链码提交链码定义完成部署。 部署成功后,操作列中的新增升级的功能,通道状态变为运行中

  2. 操作列中,单击升级

  3. 在弹出的对话框中,确认并修改除链码的名称外的所有参数信息(如果需要更改)。

    修改信息
    注意

    在隐私集配置中填写隐私集JSON数据时,一但隐私集的 name 和 blockToLive 被设置,您将不能在升级中对这两个值进行修改。

  4. 最后,单击升级

    升级后,该组织所在的链码列表中,会新增一条新的链码记录,并且链码的通道状态显示为共识中

    升级链码
  5. 在通道中的其他组织进行确认并提交定义,具体操作见部署链码中的提交链码定义小节。

    升级成功后,组织所在的链码列表中,新增的链码会覆盖原有的链码记录,且该链码的通道状态,会由原来的共识中变成运行中操作栏下新增升级日志显示

    升级成功
    说明

    默认需要通道内50% 的组织通过确认,才能最终完成链码的实例化。