Corda在节点之间共享序列[1,2..]

Corda在节点之间共享序列[1,2..],corda,Corda,我试图找出Corda排序,以便能够为2个节点生成ID序列,例如1、2、3 用例:- 节点A和节点B处于事务中节点A将希望遵循节点B生成的节点B序列号,因此当节点A创建第一个状态时,它将是100000001,如果节点B与节点C创建了另一个订单,则下一个状态,节点A将能够检测并获取下一个序列号,例如100000003,并创建订单 我试着想出几种方法来解决这个问题 链外数据库(节点B上)排序以执行此操作,但 创建自定义序列的问题是来自的任何随机ping调用 任何源都可以将序列索引增加1 我还想过使用

我试图找出Corda排序,以便能够为2个节点生成ID序列,例如1、2、3

用例:- 节点A和节点B处于事务中节点A将希望遵循节点B生成的节点B序列号,因此当节点A创建第一个状态时,它将是
100000001
,如果节点B与节点C创建了另一个订单,则下一个状态,节点A将能够检测并获取下一个序列号,例如
100000003
,并创建订单

  • 我试着想出几种方法来解决这个问题 链外数据库(节点B上)排序以执行此操作,但 创建自定义序列的问题是来自的任何随机ping调用 任何源都可以将序列索引增加1
  • 我还想过使用
    flowSession
    将Corda分类账ping到 已获取用于索引我的新状态的存储编号。但它也会导致 与上述问题相同
  • 我还想到在节点a中创建一个随机编号,节点B将 稍后获取他们自己的序列,并用新的 编号,但由于创建ID的时间必须为 一致,并且在产品生命周期内不能随机更改 国家
请注意,建议的ID不是Corda的线性ID,它只是用户的外部ID


对此有什么好的解决方案/建议吗?

您可以创建一个仅用于保存序列号的状态

  • 使所有节点都成为此状态的参与者,以便在序列递增时更新它们
  • 编写合同代码,使序列状态需要成为每个事务的一部分,并正确递增
  • 所有节点现在都可以通过查询其Vault中的序列状态来查找当前序列

因此,不是节点A和节点B都是增加序列号的每个事务的参与方吗?是的!但与节点B序列一致