如何部署具有选定方专有的业务逻辑的cordapp?

时间:2018-06-27 08:52:36

标签: corda

我有一个包含5个节点的网络,其中节点1是Company ABC,节点2到节点5是customer1,customer2,customer3等。如果customer1使用Company ABC的产品并且获得利润,则他必须支付一定的金额到公司ABC。利润公式因客户而异,客户不应看到其他客户的利润公式。

一个客户可以将公式用作A * B,而另一个客户可以将公式用作A + B * 10

我引用了链接:

When deploying Corda nodes across the network, which JARs have to be exactly the same?

我的疑问。

  1. 在我的场景中,应该在哪里写公式?在合同流程中,还是应该置于状态?推荐哪个?

  2. 维护这么多节点级jar是否可行?

  3. 我可以部署仅在节点子集中可用的合同吗?

1 个答案:

答案 0 :(得分:3)

1)如果您希望使计算对客户不公开,则应将此逻辑纳入流程。所有节点都将使用相同的协定,但是您的流可以通过该节点本地的实现从CorDapp中抽象出来。

2)是,所有CorDapp的状态和合同都将保持不变。只有流程会有所不同。这可能最终会成为一种常见的情况,因为在流程中会发生对外部系统的任何调用,并且您可以预料到这在实体之间会有什么不同。

3)您只需要考虑设计合同,这样它就不会拒绝您的利润函数计算出的任何值,并将同一份合同分发给所有人。

看看this示例CorDapp,它显示每个节点不同的业务逻辑