代码之家  ›  专栏  ›  技术社区  ›  0xsegfault

从对等端删除链码

  •  2
  • 0xsegfault  · 技术社区  · 7 年前

    我的链码出错,并将其安装在网络上的对等节点上。当我尝试在通道中实例化链码时,我发现了错误。

    1. 在对等机上安装链码之前,是否有方法调试链码?它似乎只有在实例化时才会被标记。
    2. 有没有一种方法可以在不重新启动网络的情况下从对等端删除链码?
    2 回复  |  直到 7 年前
        1
  •  3
  •   jworthington    7 年前
    1. 取决于错误/调试的含义。您应该确保它首先编译。这消除了所有的打字错误、语法、缺少的库等,但除了安装和实例化之外,无法调试功能。

    2. 从技术上讲,没有。您可以删除所有存储(/var/hyperledger/production/peer、/var/hyperledger/production/orderer、kafka/zookeeper文件和CouchDB)。这没什么大不了的,但你确实需要重新启动网络,重新创建频道,加入频道,安装并实例化cc,等等。但你可以用不同的名称安装。只需将应用程序连接定义中的名称更改为匹配即可。您也可以通过更改版本号但保持相同的名称来升级。

    我只需更改名称,直到找到一个相对固定的位置,然后执行删除并重新启动所有操作以进行清理。一次彻底的清理(4个同伴,3个订购者,4个卡夫卡,3个动物园管理员)可能需要30分钟。通常,我使用install ccname1打开CLI,并在缓冲区中实例化ccname1,并且可以轻松地增加到ccname2、3、4、5。那样只需要几秒钟。

        2
  •  0
  •   Pranith Baggan    7 年前

    如果错误为(对等方中已存在链码)

    您可以尝试安装具有不同版本号或不同链码名称的链码。

    您只能在通道中启动链码一次。下次您必须按照升级链码步骤进行操作。

    笔记 :在安装链码之前,您可以通过安装go并编译链码来检查机器的语法错误。