隐式 cordapp 升级到新合约版本后出现错误"Multiple attachments set for the same contract"



隐式合同升级后,我在执行tx-java.lang.IllegalArgumentException时出错:为同一合同设置了多个附件。与net.corda.core.transactions.TransactionBuilder.selectContractAttachmentsAndOutputStateConstraints方法有关的问题,该方法检测包含同一合同名称的多个附件的组。

为了执行升级,我更改了合同的版本,因此节点上没有相同版本的合同。

在表NODE_ATTACHMENTS_CONTRACTS中,我确实有相同的CONTRACT_CLASS_NAME和不同的ATT_ID,但当我添加新的合同版本(将jar添加到cordaps文件夹(时,应该是这样的。

中描述的这种方法https://github.com/corda/samples/tree/release-V4/implicit-cordapp-upgrades在该示例中,它运行良好。

谢谢你的帮助。

通常情况下,多个附件错误是由根项目下有多个子项目(同名(的错误项目结构引起的。

不幸的是,如果没有看到您的代码,我们就无法真正了解您的代码有什么问题。

因此,我建议你按照样本再做一次,并咨询

  1. 我们的文档https://docs.corda.net/docs/corda-os/4.4/api-contract-constraints.html#implicit-与明确的合同升级
  2. 合同升级条款https://medium.com/corda/contract-upgrades-and-constraints-in-corda-425055a9a47f

最新更新