从同行

时间:2017-12-29 15:47:26

标签: go hyperledger-fabric hyperledger

我犯了一个错误,我的链码并将它们安装在我网络上的同行上。当我试图在通道中实例化链码时,我发现了错误。

  1. 在同行上安装之前有没有办法调试链码?它实例化时似乎只会被标记。
  2. 有没有办法从对等方删除链码而无需重启网络?

2 个答案:

答案 0 :(得分:3)

  1. 取决于你的意思是错误/调试。你应该确保它首先编译。这消除了所有拼写错误,语法,缺少库等。但除了安装和实例化之外,没有办法调试功能。

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

  3. 我只是更改名称,直到我到达一个相当稳定的位置,然后执行删除并重新启动以清理。一个完整的清理(4个同伴,3个orderers,4 kafka,3 zoopkeeper)花了我30分钟。通常,我使用安装ccname1保持CLI打开并在缓冲区中实例化ccname1,并且可以轻松地增加到ccname2,3,4,5。这样只需要几秒钟。

答案 1 :(得分:0)

如果错误是(同行中已经存在链码)

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

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

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