是否可以更新或更改部署在 Hyperledger 网络中的智能合约(链码)
Is it possible to update or alter smart contract (chaincode) deployed in Hyperledger network
是否可以更新或更改部署在 Hyperledger 网络中的智能合约(链码)?即我已经部署了一个智能合约,块是用交易创建的,一段时间后,我想更改链码,是否可以这样做。
基本上我们无法为某个频道更新已安装的链码,但我们可以使用链码版本来区分更新的链码和旧的链码(我们升级 Chaincode for Operators - upgrade).
要使用新更新的链代码,我们必须安装新版本的更新链代码(此处示例版本 1 之前是版本 0),链代码名称与旧链代码名称相同同行:
peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 1
查看上面命令中的 -v
标签,其中 版本 1 和 -n
标签带有链码名称。
然后升级通道上的链码:
peer chaincode upgrade -n mycc -v 1 -c '{"Args":["a","10"]}' -C myc
在上面的命令中再次查看 -v
标签 version 1 , -n
带有链代码名称的标签和 -C
带有通道名称的标签它在其上被实例化。
因此,一旦安装并升级了链码,它就会保留在通道中,我们可以通过升级它们来使用更新的更新链码。当我们在对等节点上调用链代码时,它将调用安装在通道上的最新链代码。
例如:
peer chaincode invoke -n mycc -c '{"Args":["set", "a", "20"]}' -C myc
参考文献:
1):对等链码升级示例(https://hyperledger-fabric.readthedocs.io/en/release-1.2/commands/peerchaincode.html#peer-chaincode-upgrade-example)
既然你用 Hyperledger Composer 标记了你的问题,我会在之前的回答中补充说,使用 composer 你可以使用这些命令实现相同的升级:
composer network install -c PeerAdmin@hlfv1 -a my-network@0.0.2.bna
和
composer network upgrade -c PeerAdmin@hlfv1 -n my-network -V 0.0.2
升级到 v0.0.2 网络(链代码)。
是否可以更新或更改部署在 Hyperledger 网络中的智能合约(链码)?即我已经部署了一个智能合约,块是用交易创建的,一段时间后,我想更改链码,是否可以这样做。
基本上我们无法为某个频道更新已安装的链码,但我们可以使用链码版本来区分更新的链码和旧的链码(我们升级 Chaincode for Operators - upgrade).
要使用新更新的链代码,我们必须安装新版本的更新链代码(此处示例版本 1 之前是版本 0),链代码名称与旧链代码名称相同同行:
peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 1
查看上面命令中的 -v
标签,其中 版本 1 和 -n
标签带有链码名称。
然后升级通道上的链码:
peer chaincode upgrade -n mycc -v 1 -c '{"Args":["a","10"]}' -C myc
在上面的命令中再次查看 -v
标签 version 1 , -n
带有链代码名称的标签和 -C
带有通道名称的标签它在其上被实例化。
因此,一旦安装并升级了链码,它就会保留在通道中,我们可以通过升级它们来使用更新的更新链码。当我们在对等节点上调用链代码时,它将调用安装在通道上的最新链代码。
例如:
peer chaincode invoke -n mycc -c '{"Args":["set", "a", "20"]}' -C myc
参考文献:
1):对等链码升级示例(https://hyperledger-fabric.readthedocs.io/en/release-1.2/commands/peerchaincode.html#peer-chaincode-upgrade-example)
既然你用 Hyperledger Composer 标记了你的问题,我会在之前的回答中补充说,使用 composer 你可以使用这些命令实现相同的升级:
composer network install -c PeerAdmin@hlfv1 -a my-network@0.0.2.bna
和
composer network upgrade -c PeerAdmin@hlfv1 -n my-network -V 0.0.2
升级到 v0.0.2 网络(链代码)。