网络版本

时间:2019-06-06 14:52:17

标签: hyperledger-fabric hyperledger hyperledger-composer

我有一个成功运行的网络,但是我想更改参数并部署网络。我知道在部署参数已更改的网络之前,我需要在软件包文件中更改网络的版本。但是,我不明白应该为新创建的网络将网络版本更改为什么?

请帮助!。

1 个答案:

答案 0 :(得分:1)

您应该了解的事物。业务网络具有固定名称,该名称在定义智能合约的文件夹中的package.json中定义。要升级链码,名称应保持完全相同,而版本应增加。

假设您的文件看起来像这样

{
  "name": "my-special-network",
  "version": "1.0.0",
  .........

}

现在可以说第一次迭代是使用1.0.0作为版本。这些命令看起来像

cd chaincode
composer archive create -t dir -n .
composer network install -c PeerAdmin@fabric-network -a my-special-network@1.0.0.bna
composer network start --networkName my-special-network --networkVersion 1.0.0 -A admin -S adminpw -c PeerAdmin@fabric-network

因此,以上代码将根据package.json中的版本创建一个bna文件。为了保持一致性,在启动网络时,我们传递了与--networkVersion变量相同的值。现在,添加了一些新功能,并且需要添加更新的版本。您的新package.json将是

{
  "name": "my-special-network",
  "version": "1.0.1",
  .........

}

版本应大于1.0.0,而name必须完全相同。新的命令集应该是

cd chaincode
composer archive create -t dir -n .
composer network install -c PeerAdmin@fabric-network -a my-special-network@1.0.1.bna
composer network upgrade--networkName my-special-network --networkVersion 1.0.1 -c PeerAdmin@fabric-network

请注意,已将命令启动更改为升级,而不再传递管理员密码。如果您选中docker image ls,则先前版本的链码图像将存在。我发现删除它是一种好习惯。