【问题标题】:How does Corda support parent-child relationshipCorda 如何支持父子关系
【发布时间】:2019-01-10 19:52:04
【问题描述】:

Corda 如何支持状态之间的父子关系(即一个父状态到多个服务于不同目的的子状态)一对多关系。目前我只是通过将父状态的参考号(线性 id)添加到每个子状态中来做到这一点。

阐述:

父状态由每个子状态共享的公共信息组成,而子状态将包含仅与自身相关的信息。每个孩子都会独立地进化或过渡到不同的生命周期,除非如果对父状态采取行动,即取消、提前到期,它将级联到与父状态相关的所有子状态。同样,如果所有子状态都已演化到其生命周期的终点,即SETTLED,则父状态也必须能够整理并将其自身转换为SETTLED。

一个示例场景是买方与卖方签订采购合同,该合同也包含不同的物品。因此,在一份采购合同中,可能有不同的产品,并且每种产品要运送到不同的地点。但是,一旦所有物品都已发货并入账 (SETTLED),则采购合同才已结算。

【问题讨论】:

  • “一个父合约对多个服务于不同目的的子合约”是指“一个父州对多个服务于不同目的的子合约”吗?
  • 是的,父母状态。将编辑问题*
  • 谢谢。你想通过连接子状态和父状态来实现什么?了解有关用例的更多信息将有助于指导响应。
  • 在问题中添加了详细说明

标签: corda


【解决方案1】:

只需通过 linearId 引用父状态中的子状态,反之亦然。

然后您可以在合同中施加规则 - 例如,您可以要求将购买合同标记为Settled 的交易同时将所有物品从卖方转移到买方。

如果用例发生变化并且此模型不再适用,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2012-01-27
    • 1970-01-01
    相关资源
    最近更新 更多