Corda如何支持各州之间的亲子关系(即一个父州对多个服务于不同目的的子州)一对多关系。目前我只是通过将父状态的引用号(线性id)添加到每个子状态来实现它。
精化:
父母国家由每个子国家共享的共同信息组成,而子国家将包含仅与其自身相关的信息。每个孩子都会独立地进化或过渡到不同的生命周期,除非对父母国家采取行动,即取消,提前到期,它将级联到与父母相关的所有子女国家。同样,如果所有子状态都已经发展到生命周期的结束,即SETTLED,则父母必须能够整理并将自身转换为SETTLED。
示例方案是与卖方签订购买合同的买方,卖方也包含不同的商品。因此,在一个购买合同中,可能会有不同的产品,并且每个产品都要运送到不同的位置。但是,一旦所有物品都已装运并计入(SETTLED),购买合同才会被解决。
答案 0 :(得分:2)
只需通过linearId
引用父状态中的子状态,反之亦然。
然后,您可以在合同中强加规则 - 例如,您可以要求将标记购买合同的交易Settled
也将所有商品从卖方转移给买方。
如果用例发展并且此模型不再合适,请告诉我。