Corda State class 参与者列出重要性
Corda State class Participants list significance
我正在开发一个涉及 3 个参与方(节点)的 cordap,即。 A、B、C.
有 2 个流程:
流程1:A到B发行流程
State 对象中参与者字段的值:listOf(A, B)
结果:最新状态在节点A和节点B中可见
流 2: B 到 C 传输流
State 对象中参与者字段的值:listOf(B, C)
结果:
- 最新状态在节点 B 和节点 C 中可见
- 节点 A 中的状态不可见。 :-((节点 A 应该显示其在流程 1 中获取的状态。不应该吗?)
我的问题是,即使 A 方没有参与 Flow 2,账本更新是如何在节点 A 上发生的,为什么它的状态不可见?
注:
为了获得状态,我在每个节点上的命令下面 运行 :
run vaultQuery contractStateType: com.example.Mystate
如果 he/she 不再是参与者,则节点 A 不应再具有该状态。
the vault will store the state if it is one of the participants
https://docs.corda.net/api-states.html#the-vault
节点 A 上的分类帐将状态标记为已消耗,并将节点 A 从参与者列表中删除。只有参与者列表中的身份才能在其 ledger/database.
上具有未使用状态
状态和交易是不同的。节点 A 应该仍然完整地保留来自流程 1 的历史交易。但是它不应该再 spend/view 最新的未消费状态,因为流程 2 改变了参与者。
我正在开发一个涉及 3 个参与方(节点)的 cordap,即。 A、B、C.
有 2 个流程:
流程1:A到B发行流程
State 对象中参与者字段的值:listOf(A, B)
结果:最新状态在节点A和节点B中可见
流 2: B 到 C 传输流
State 对象中参与者字段的值:listOf(B, C)
结果:
- 最新状态在节点 B 和节点 C 中可见
- 节点 A 中的状态不可见。 :-((节点 A 应该显示其在流程 1 中获取的状态。不应该吗?)
我的问题是,即使 A 方没有参与 Flow 2,账本更新是如何在节点 A 上发生的,为什么它的状态不可见?
注: 为了获得状态,我在每个节点上的命令下面 运行 :
run vaultQuery contractStateType: com.example.Mystate
如果 he/she 不再是参与者,则节点 A 不应再具有该状态。
the vault will store the state if it is one of the participants
https://docs.corda.net/api-states.html#the-vault
节点 A 上的分类帐将状态标记为已消耗,并将节点 A 从参与者列表中删除。只有参与者列表中的身份才能在其 ledger/database.
上具有未使用状态状态和交易是不同的。节点 A 应该仍然完整地保留来自流程 1 的历史交易。但是它不应该再 spend/view 最新的未消费状态,因为流程 2 改变了参与者。