Hyperledger fabric 链码升级

Hyperledger fabric chaincode upgrade

我已经为 2 个组织设置了超级账本结构网络,并安装了 fabcar 链码与对等版本 v1.1,我正在保留区块链的存储。

接下来我在fabcar上添加了更多方法,试图将现有的fabcar升级到v1.2,但我遇到了错误。

Error: could not assemble transaction, err proposal response was not successful, error code 500, msg cannot get package for chaincode (fabcar:1.2)

我正在使用以下命令升级链码

peer chaincode upgrade -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n fabcar -v 1.2 -c '{"Args":[""]}' -P "OR('Org1MSP.peer','Org2MSP.peer')"

您首先必须安装链代码的升级版本,将其安装为 1.2 版。然后像之前一样升级它。

Error: could not assemble transaction, err proposal response was not successful, error code 500, msg cannot get package for chaincode (fabcar:1.2)

表示您升级后的链代码未安装在对等节点上。

检查你的chanincode是否安装在peers上?

peer chaincode list --installed

在输出中,您看到了之前安装的唯一链代码。所以你必须先打包一个链码然后再升级一个链码。

 peer chaincode package ccpack.out -n fabcar -p github.com/hyperledger/fabric/examples/chaincode/go/fabcar -v 1.2 -s -S

对等链代码签名包示例

 peer chaincode signpackage ccwith1sig.pak ccwith2sig.pak

升级链码

peer chaincode upgrade -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n fabcar -v 1.2 -c '{"Args":[""]}' -P "OR('Org1MSP.peer','Org2MSP.peer')"

我建议 this link 升级您的结构链代码。

注意:将链代码路径替换为您的链代码路径。

希望对您有所帮助:)