在Corda示例中,如果我们要添加自定义验证代码,我们可以覆盖响应者代码中的checkTransaction()以确保IOU高于某个阈值。这假设所有响应者都同意该阈值。
如果我们允许每个贷方设定自己的门槛,该怎么办?在那种情况下,阈值变为变量。为了解决这个问题,我创建了一个直接向数据库发布阈值(整数)的UI。但是我发现很难提取值并将其传递给流程代码中的阈值变量。有没有更好的办法?如果这样可行,我可以隔离更多变量并使用各个节点的UI,我可以设置在Tx中验证状态时使用的自定义参数(进入数据库)。
答案 0 :(得分:0)
实现此目的的最简单方法是为每个节点提供不同的流实现。例如,如果您有AcceptTxBasedOnThreshold
流,则可以创建多个实现:
AcceptTxBasedOnThreshold
流程实现,其阈值可能为10 AcceptTxBasedOnThreshold
流程实现,其阈值可能为20而不是然后你会创建几个CorDapps:
AcceptTxBasedOnThreshold
流量的CorDapp。此CorDapp仅由NodeA AcceptTxBasedOnThreshold
流量的CorDapp。此CorDapp仅由NodeB