如何使用选定方私有的业务逻辑部署 cordapp?
How to deploy a cordapp with a business logic which is private to selected parties?
我有一个有5个节点的网络,其中节点1是公司ABC,节点2到节点5分别是客户1,客户2,客户3等。如果客户1使用公司ABC的产品,如果他获得利润,他必须支付一定数额给ABC公司。利润公式因客户而异,客户不应看到其他客户的利润公式。
一个客户可以使用公式 A * B ,而另一个客户可以使用 A+B*10
我提到了 link:
When deploying Corda nodes across the network, which JARs have to be exactly the same?
我的疑惑
在我的场景中,我应该在哪里写公式?在 contract 或 flow 中,还是我应该输入 state?推荐哪个?
维护这么多节点级别的 jar 可行吗?
我可以部署仅在节点子集中可用的合约吗?
1) 如果您希望对客户保密计算,则应将此逻辑纳入流程。所有节点都将使用相同的合约,但您的流程可以通过节点本地实现从 CorDapp 中抽象出来。
2) 是的,状态和合约将在所有 CorDapp 中保持不变。只有流量会有所不同。这可能最终会成为一种常见的情况,因为对外部系统的任何调用都将在流程中发生,您可以预见这在实体之间会有何不同。
3) 你只需要考虑设计你的合约,使其不会拒绝任何由你的利润函数计算的值,并将同一份合约分发给每个人。
查看 this 示例 CorDapp,它显示了每个节点的不同业务逻辑
我有一个有5个节点的网络,其中节点1是公司ABC,节点2到节点5分别是客户1,客户2,客户3等。如果客户1使用公司ABC的产品,如果他获得利润,他必须支付一定数额给ABC公司。利润公式因客户而异,客户不应看到其他客户的利润公式。
一个客户可以使用公式 A * B ,而另一个客户可以使用 A+B*10
我提到了 link:
When deploying Corda nodes across the network, which JARs have to be exactly the same?
我的疑惑
在我的场景中,我应该在哪里写公式?在 contract 或 flow 中,还是我应该输入 state?推荐哪个?
维护这么多节点级别的 jar 可行吗?
我可以部署仅在节点子集中可用的合约吗?
1) 如果您希望对客户保密计算,则应将此逻辑纳入流程。所有节点都将使用相同的合约,但您的流程可以通过节点本地实现从 CorDapp 中抽象出来。
2) 是的,状态和合约将在所有 CorDapp 中保持不变。只有流量会有所不同。这可能最终会成为一种常见的情况,因为对外部系统的任何调用都将在流程中发生,您可以预见这在实体之间会有何不同。
3) 你只需要考虑设计你的合约,使其不会拒绝任何由你的利润函数计算的值,并将同一份合约分发给每个人。
查看 this 示例 CorDapp,它显示了每个节点的不同业务逻辑