我在超级账本结构中创建了一个链码,使用“第一网络”作为本地区块链来部署我的合约,我对其进行了测试,效果很好,很喜欢它,然后我决定在我的合约中添加一个新方法,没什么复杂的,一个简单的查询。
我的程序在带有打字稿的节点中,所以我删除了 dist 文件夹,运行脚本npm run build
甚至./byfn.sh down
删除了我所有的容器和图像,并使用./byfn.sh up
脚本重新开始,无论尝试什么,我都会收到此错误:
You've asked to invoke a function that does not exist: queryTransference
Failed to submit transaction: Error: Endorsement has failed
所以我认为也许我做错了什么,所以我将我的方法添加到 fabcar.ts 示例中并再次启动结构以使用 fabcar 方法和我的方法运行 fabcar,这一次,我得到了同样的错误对于我所有的方法,而来自 fabcar 示例的原始方法是唯一被认可的方法。
那么,fabric 在哪里存储旧版本的代码?我正在删除所有 dist 文件夹、node_modules、容器和图像,如果我在全新的区块链中发布,为什么它不会更新合同?每次更改某些内容时,即使在开发中,我是否也需要增加版本?
谢谢