广播旧交易将导致2个未使用状态

时间:2018-07-19 04:55:20

标签: corda

在Corda 3.0 Postgres 9.6上。

假设银行节点中有一个LinearState已转换为

A lifecycle in Tx1 -> B lifecycle in Tx2 -> C lifecycle in Tx3 -> D lifecycle in Tx4

我有一个带空保险库的调节器。通过可观察的概念,当银行将Tx4发送给监管机构时。监管机构将在LinearState的{​​{1}}处消耗D lifecycle,这是好事。

如果在执行上述操作之后银行不正确地向监管机构发送了vault_states,则监管机构将在Tx2B lifecycle快照中记录2个具有相同UUID的未使用状态。这是预期的行为吗?

另一种情况

  1. 如果银行先发送D lifecycle,然后依次发送Tx2,则Tx4Tx2均未消耗
  2. 如果银行先发送Tx4,然后依次发送Tx2,则Tx3将被消耗,Tx2将不被消耗。

下面的代码段

Tx3

1 个答案:

答案 0 :(得分:0)

这似乎是一个错误。在这里进行跟踪:https://r3-cev.atlassian.net/browse/CORDA-1828