【问题标题】:How to sync states from other nodes如何从其他节点同步状态
【发布时间】:2017-11-03 08:44:41
【问题描述】:

我按照快速入门主题中的步骤操作并尝试使用 cordapp-example。但是,我有一个问题,这是我的方案。

  1. 启动 cordapp-example 网络。
  2. 打开浏览器并访问甲方节点。
  3. 从甲方向乙方发送借据。
  4. 关闭 cordapp-example 网络。
  5. 复制一份…/cordapp-example/kotlin-source/build/nodes/PartyB 并将其保存在某处。
  6. 重复步骤 1-4。 (PartA 和 PartyB 现在在他们的账本中都有 2 个 IOU 状态)。
  7. 将 …/cordapp-example/kotlin-source/build/nodes/PartyB 替换为第 5 步中的副本。

在此之后,如果我启动 cordapp-example 网络并访问 PartyA 和 PartyB,我会看到 PartyA 有 2 个 IOU 状态,而 PartyB 只有 1 个 IOU 状态。我不确定我需要做什么才能将丢失的 IOU 状态从 PartyA 同步到 PartyB。

【问题讨论】:

    标签: corda


    【解决方案1】:

    所以这里重要的是要理解,没有同步功能,因为在流程过程中节点进行交易时状态会保持同步;你在这里所做的实际上是删除和修改你的世界观。

    Corda 不是像比特币或以太坊那样的公共区块链;每个参与者对账本的看法都是主观的,因此如果您删除或丢失您的数据,您将无法从其他方恢复它。如果您从商业角度考虑这一点,为什么其他参与者会有任何动力帮助您恢复这些数据?保护您的数据安全只是您在商业世界中进行交易时的职责之一。

    我在这里写了一篇关于数据管理的简短博客:https://www.corda.net/2017/05/corda-system-failures-data-needs-look-stuff-things-go-wrong/

    【讨论】:

    • 我明白了。谢谢你的解释。
    【解决方案2】:

    我有一个类似的场景,在流的广播步骤中,如果对方离线,它会无限期地等待。我们可以将其作为一个异步过程来执行,其中广播可以启动发送状态/事务并在当前节点中提交事务。另一方可以在其上线时收到状态。

    我也发在这里了-Corda: Synchronize multiple Nodes that represent same Party

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2019-08-31
      • 2020-07-11
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 2022-06-20
      相关资源
      最近更新 更多