fabric修改了合约代码,如何运行新的合约
时间: 2024-02-06 14:12:15 浏览: 36
在 Hyperledger Fabric 中,修改了合约代码后需要重新打包成链码包(chaincode package),然后将链码包安装到 Peer 节点上,最后在链码的生命周期中执行升级操作。
以下是运行新合约的基本步骤:
1. 修改合约代码,并将代码打包成链码包。
2. 在 Peer 节点上安装链码包。
3. 在链码的生命周期中执行升级操作。
以下是运行新合约的具体步骤:
1. 修改合约代码,并将代码打包成链码包。
打包链码包的方式有多种,例如可以使用 Maven、Gradle 等构建工具来构建链码包,也可以使用 `peer lifecycle chaincode package` 命令手动打包。具体打包方式可以根据实际情况选择。
2. 在 Peer 节点上安装链码包。
使用 `peer lifecycle chaincode install` 命令将链码包安装到 Peer 节点上。例如:
```
peer lifecycle chaincode install mycc.2.0.tar.gz
```
3. 在链码的生命周期中执行升级操作。
在链码的生命周期中执行升级操作,可以使用 `peer lifecycle chaincode approveformyorg` 和 `peer lifecycle chaincode commit` 命令。
首先,需要使用 `peer lifecycle chaincode approveformyorg` 命令向组织的 Peer 节点发送链码升级请求。例如:
```
peer lifecycle chaincode approveformyorg --channelID mychannel --name mycc --version 2.0 --init-required --package-id mycc_2.0:abc123 --signature-policy "AND ('Org1MSP.peer','Org2MSP.peer')"
```
其中,`--channelID` 参数指定要升级的通道名称,`--name` 参数指定要升级的链码名称,`--version` 参数指定要升级的链码版本,`--init-required` 参数指定链码是否需要初始化,`--package-id` 参数指定链码包的 ID,`--signature-policy` 参数指定背书策略。
然后,需要使用 `peer lifecycle chaincode commit` 命令提交链码升级请求。例如:
```
peer lifecycle chaincode commit -o orderer.example.com:7050 --channelID mychannel --name mycc --version 2.0 --init-required --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /path/to/org1-ca-cert.pem --peerAddresses peer0.org2.example.com:7051 --tlsRootCertFiles /path/to/org2-ca-cert.pem --signature-policy "AND ('Org1MSP.peer','Org2MSP.peer')"
```
其中,`-o` 参数指定 Orderer 节点的地址,`--channelID` 参数指定要升级的通道名称,`--name` 参数指定要升级的链码名称,`--version` 参数指定要升级的链码版本,`--init-required` 参数指定链码是否需要初始化,`--peerAddresses` 参数指定 Peer 节点的地址,`--tlsRootCertFiles` 参数指定 TLS 根证书的路径,`--signature-policy` 参数指定背书策略。
升级成功后,新版本的链码将被部署到网络中,可以通过调用新版本的链码来执行相应的操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)