【问题标题】:Corda to share Sequencing between Nodes [1,2 ..]Corda 在节点之间共享排序 [1,2 ..]
【发布时间】:2018-05-29 06:13:22
【问题描述】:

我试图弄清楚 Corda Sequencing 是否能够制作 ID 序列,例如。 1,2,3 用于 2 个节点。

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

  • 我已经尝试了几种方法来解决这个问题是使用 一个链下数据库(在节点 B 上)排序来执行这个动作,但是 创建自定义序列的问题是来自任何随机 ping 调用 任何来源都可以将序列索引增加 1。
  • 我也想过用flowSession ping Corda ledger 获得了一个存储的号码。用于索引我的新状态。但也导致 和上面一样的问题。
  • 我也想创建一个随机编号。在节点 A 中,节点 B 将 稍后获得自己的排序并用新的数字覆盖 编号,但这不可行,因为创建时 ID 必须是 一致且在生命周期内不能随机更改 状态。

请注意,建议的 ID 不是 Corda 的线性 ID,它只是用户观点的外部 ID。

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

【问题讨论】:

  • 所以不是节点 A 和节点 B 都是增加序列号的每笔交易的参与方吗?
  • 是的!虽然按照Node B顺序

标签: corda


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 2012-11-17
    • 2016-10-11
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多