102-Fabric文档操作完整解析 之 更新Chaincode智能合约

 

 

 

我们之前已经把示例都弄完了

现在我们来更新一下chaincode

 

 

首先,重新安装并验证提交的这个过程是可以更新chaincode的

这是第一种方法

 

 

 

 

第二种是用upgrade process更新流程

我们之前是用go语言的chaincode,现在假设我们觉得js的更好用

那么我们现在把js的更新上去

如果之前是用js的,也可以把go的更新上去

 

 

 

第一步.npm安装

 

之前看了下chaincode示例代码

然后精简了一下

 

我们写好了js代码,那么就要用npm安装一下

npm install

 

 

 

 

 

 

第二步.打包链码

先设置一下环境变量,使用peer CLI

export PATH=${PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

 

然后打包链码

这里我们要修改一下包名

peer lifecycle chaincode package howger.tar.gz --path ../asset-transfer-basic/cc-howger/ --lang node --label howger_5.5

这里我们要修改一下包名

 

 

 

 

 

第三步.操作Org01

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051

 

 

 

 

 

第四步.安装链码

peer lifecycle chaincode install howger.tar.gz

 

 

 

 

第五步.检查是否安装成功

peer lifecycle chaincode queryinstalled

 

 

 

 

 

 

第六步.设置链码ID环境变量

export NEW_CC_PACKAGE_ID=howger_5.5:f14333df0b0e4657c15f6fd5ed7668f3ec280f1c938b9216b8297a2977128e3d

 

 

 

 

 

 

第七步.验证链码

注意这里我们的版本是5.5,然后是第三个版本,所以序列是3

也就是--version 5.5        --sequence 3

peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 5.5 --package-id $NEW_CC_PACKAGE_ID --sequence 3 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

 

 

 

 

 

 

第八步.切换环境变量指向Org02

export CORE_PEER_LOCALMSPID="Org2MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
export CORE_PEER_ADDRESS=localhost:9051

 

 

 

 

 

第九步.为Org02安装链码

peer lifecycle chaincode install howger.tar.gz

 

 

 

 

 

 

第十步.为Org02验证链码

注意这里我们的版本是5.5,然后是第三个版本,所以序列是3

也就是--version 5.5        --sequence 3

peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 5.5 --package-id $NEW_CC_PACKAGE_ID --sequence 3 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

 

 

 

 

 

 

第十一步.检查Org01和Org02的提交状态

peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name basic --version 5.5 --sequence 3 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --output json

 

 

 

 

 

 

第十二步.提交链码

注意这里版本是5.5,序列是3

peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name basic --version 5.5 --sequence 3 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt

 

 

 

 

 

 

 

第十三步.唤醒链码

如果想要初始化账本的话,那么就initLedger

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"InitLedger","Args":[]}'

 

不然的话就随便加个也行,或者调用其他的方法

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses localhost:9051 --tlsRootCertFiles ${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"function":"CreateAsset","Args":["asset8","blue","16","Kelley","750"]}'

 

 

 

 

 

 

第十四步.查询所有

peer chaincode query -C mychannel -n basic -c '{"Args":["GetAllAssets"]}'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

END

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值