在corda中,一个状态可以包含其他状态对象

时间:2018-08-21 17:16:38

标签: corda

我正在尝试实现这样一个场景,其中前几笔交易是使用state1完成的,而随后的时间点则尝试将所有交易批处理为新状态,例如state2,它可以容纳所有这些交易。一个状态可以容纳其他类型的多个状态吗?我们可以将批量状态作为输入和输出多个状态吗?

1 个答案:

答案 0 :(得分:1)

从技术上讲,是的,一个状态可以包含其他状态。例如:

class StateContainingStates(
        val states: List<StateAndRef<ContractState>>,
        override val participants: List<Party>
) : ContractState

主要问题是,如果您将上述状态包含为交易的输入,则StateContainingStates.states字段中保存的状态将被消耗。

另一个问题是,StateContainingStates.states字段中持有的州的合同将不会作为交易的一部分执行。