首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同一合同中的多个状态无法验证。

同一合同中的多个状态无法验证。
EN

Stack Overflow用户
提问于 2018-08-01 06:37:27
回答 1查看 323关注 0票数 2

这是我在我的CordApp中实现的:

现在,在进行流程测试时,它已经通过了合同C,但合同D的流程测试却失败了。根据日志,试图使用相同的命令.验证所有状态(即i/p和o/p)

我发现了一个类似的问题:Transaction verification failed when using different type of states as input and output

但如果这是真的,我的合同C流测试用例也应该失败?

然而,正如在回答中提到的,我删除了对contract中输入状态的验证,这样一个契约将只验证一个状态。但同样的错误正在到来。

有什么不对劲的指针吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-01 08:11:00

请注意:

  • 合同不验证单个状态,而是验证整个事务。
  • 在验证事务时,将运行输入和输出状态的契约。

所以在你的情况下,如果我正确理解你的图表:

  • 第一个事务(从左边)没有输入,输出StateA,并通过运行ContractA (与StateA关联)进行验证。
  • 第二个事务没有输入,输出StateB,并通过运行ContractB (与StateB关联)进行验证。
  • 第三个事务具有输入StateB、输出StateC,并通过运行ContractB (与StateB关联)和ContractC (与StateC关联)进行验证。
  • 第四个事务(位于极右)具有输入StateAStateC、输出StateD,并通过运行ContractA (与StateA关联)、ContractC (与StateC关联)和ContractD (与StateD关联)进行验证。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51626799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档