HyperLedger Composer 0.19.1业务网络撤销部署替代方案咨询
替代HyperLedger Composer 0.19.1中
undeploy命令的方案 你说得没错,HyperLedger Composer 0.19.x版本确实移除了旧的undeploy命令。如果不想升级版本,只想替换修复JS代码后的业务网络,可以按照以下步骤操作:
第一步:停止运行中的业务网络实例
首先要把正在运行的业务网络停下来,避免后续操作冲突,使用命令:composer network stop -n <你的业务网络名称> -c <管理员卡片名称>举个例子,如果你的业务网络叫
my-trade-network,管理员卡片是admin@my-trade-network,命令就是:composer network stop -n my-trade-network -c admin@my-trade-network第二步:删除旧的业务网络卡片
停止实例后,要删除对应的管理员卡片——旧卡片关联的是已停止的网络实例,留着会干扰后续操作:composer card delete -c <管理员卡片名称>第三步:清理链码(可选但推荐)
如果之前的链码残留导致后续部署出问题,可以切换到Fabric peer节点的操作环境(比如进入Fabric CLI容器),手动删除链码包:peer chaincode delete -n <业务网络名称> -v <版本号> -C <通道名称>这一步能彻底清理旧链码,避免重新部署时出现版本冲突。
第四步:重新部署修复后的业务网络
现在可以部署你修复好的BNA包了,分两步完成:- 先把链码安装到peer节点:
composer network install -c <Peer管理员卡片(如PeerAdmin@hlfv1)> -a <修复后的BNA文件路径> - 再启动业务网络实例:
比如版本号是composer network start -n <业务网络名称> -v <版本号> -c <PeerAdmin@hlfv1> -A <管理员身份名称> -S <管理员密码>0.0.1,管理员身份是admin、密码是adminpw,命令就是:composer network start -n my-trade-network -v 0.0.1 -c PeerAdmin@hlfv1 -A admin -S adminpw
- 先把链码安装到peer节点:
第五步:导入新管理员卡片并验证
启动后会生成一个新的管理员卡片文件(比如admin@my-trade-network.card),先导入它:composer card import -f admin@my-trade-network.card最后用ping命令验证网络是否正常运行:
composer network ping -c admin@my-trade-network
注意事项
- 操作前请确保没有正在进行的交易,否则可能导致数据不一致;
- 这个方案会重置业务网络的状态(因为链码被重新部署),如果需要保留现有数据,还是建议使用版本升级的方式——不过既然你明确不想升级版本,这个方案就完全适用。
内容的提问来源于stack exchange,提问作者Stephane Mery
相关产品推荐
相关产品推荐

