java - Corda - 避免发出重复的状态
问题描述
我对 Corda 很陌生,所以我可能错过了一些东西。
避免一方(或不同方)发布重复状态的最佳方法是什么?
例如,我想阻止发行包含
先前发行的卖方、买方、日期和价值的借据。
解决方案
- 在 Corda 中,状态分布在需要知道的基础上;这意味着如果一方
participant
处于该状态,它将将该状态存储在其保险库中。 - 考虑到这一点,您只能确保某个状态不会在“发行人”级别上重复。
- 所以让我们说在你的借条中总是
lender
发行新的借条;因此,您的流程(由 发起lender
)应首先查询 Vaultlender
以查看是否有匹配的 IOU,如果有则抛出异常,否则发出新的 IOU。 - 因此,如果您有一个带有
lender = PartyA
and的借据borrower = PartyB
;PartyC 无法知道所提到的 IOU 存在(因为它不是participant
那个状态)。 - 这不是问题,因为您应该以流程的发起者成为
lender
IOU 的方式编写流程;这样你就可以锁定事情了。 - 每个人都会
lender
在为类似的借据签发借据之前检查他们的保险库。
推荐阅读
- python - python-如何将参数传递给“map_async”?
- amazon-web-services - 通过ansible playbook在centos 7上创建aws ec2实例
- javascript - Javascript 中的三元返回
- parsing - 解析器更喜欢强制转换而不是乘法
- express - Express 网关设置自定义策略路径通配符
- ms-access - 表格数据未正确报告
- php - Laravel 通知 - 尝试从控制器传递数据
- firebase - 输入'未来
' 不是类型 'List 的子类型 ' 在类型转换中 - django - Django:无法在 CheckboxSelectMultiple 小部件中设置自定义 ID
- flutter - 如何绘制标记?像谷歌地图中使用画布的标记