Corda Flow参与者如何添加&去掉

时间:2018-04-02 15:11:28

标签: corda

  1. 如果原始交易没有,可以在后续交易中添加/删除参与者。

  2. 我有甲方创建了一个交易并添加了一个参与者乙方。在交易中创建的状态与乙方共享。有一些状态属性,如FirstName,LastName和Status。 乙方将状态更改为绿色,然后交易完成并记录到乙方和甲方的保险库中。

  3. 甲方和丙方之间遵循相同的程序。 甲方和甲方之间也遵循同样的过程。 ------乙方 / 甲方/ -------丙方 \ ------党D

    我有一个用例,其中乙方,丙方,甲方可以将状态中的状态更改为绿色。一旦所有状态变为绿色,我想在甲方启动流程。

    在Corda中实现此功能的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

1)是的,您可以通过将参与者置于参与者列表中来添加或删除,您可以在开始时将其初始化为空,只需记住将flowSession发送给参与州/交易的每个人。但是,通过执行此操作,请注意事务链(走链)仍将适用,因此新添加的参与者将能够查看状态的历史记录,因此如果要求特定方提供敏感信息,接触该州的所有参与者。

2)是的,您也可以这样做,流程有两个部分@InitiatingFlow@InitiatedBy(响应者)流程,您可以在此处设置逻辑来查询您的保管库以查找相关交易,做你的逻辑操作

答案 1 :(得分:0)

1)这样做的一种方法是让你的州财产有一个列表派对。 在您在状态类中重写的getParticipants()方法中返回此列表。 现在,在创建状态时,您可以根据需要添加任意数量的聚会。 一旦国家坚持下去。您现在可以更新此状态,并根据需要添加任意数量的参与者。

2)在这里不确定,但如果你是党派不可知的,你可以在你的州有一个状态ENUM,并从PINE,PEAR,LIME,GREEN(绿色顺序)开始,并让各方相应地更新状态。一旦绿色,你就可以开始流动。让您的州可以预定,并检查它是否为绿色,您可以开始流程做任何您想做的事情。

PS:这是我能从头脑中想到的一种解决方法,我不确定这是否适合用corda做到这一点。