could not get chaincode code: chaincode fingerprint mismatch: data mismatch

failed to execute transaction 6afa96298ed11b6ea346eeb1196b59b4a2de1c61d6909a4d60bad54e7d0f7fef: [channel mychannel] failed to get chaincode container info for success1:1.0: could not get chaincode code: chaincode fingerprint mismatch: data mismatch

记一次合约部署遇到的坑.

从以上报错内容,直译过来就是合约代码指纹不匹配。所谓指纹就是hash , 

上网搜了一下, 根据网上答案说, 这个问题之所以出现在于chaincode信息不匹配, chaincode有名称 , 路径, 版本号这些信息, 还有个什么id. 我的名称 , 路径 , 版本号都是一致的,至于那个id什么 , 就不清楚了, 但我的问题不是这些  . 

在我做的合约安装接口中, 要求用户自己上传合约的.go文件, 如果用户一次把所有节点都安装好 , 就没有问题, 如果用户分多次安装, 每次安装一个节点, 那么他第二次操作时, 我会之前的合约文件删除重新写入本地一份,  问题就出在这里, 尽管写入的文件内容都一至, 但是还是不同的文件, 文件hash是不同的, 所以呢, 在用户第二次部署相同合约时候, 不要把之前的文件删除, 沿用之前的文件, 就成功解决问题了, 

猜你喜欢

转载自blog.csdn.net/qq_27348837/article/details/107573869