如何同步其他节点的状态

时间:2017-11-03 08:44:41

标签: corda

我按照QuickStart主题中的步骤操作并尝试使用cordapp-example。但是,我有一个问题,这是我的情景。

  1. 启动cordapp-example网络。
  2. 打开浏览器并访问PartyA节点。
  3. 从PartyA向PartyB发送IOU。
  4. 关闭cordapp-example网络。
  5. 制作一份...... / cordapp-example / kotlin-source / build / nodes / PartyB并将其保存在某处。
  6. 重复步骤1-4。 (PartyA和PartyB现在在其分类账中都有2个IOU状态)。
  7. 用步骤5中的副本1替换... / cordapp-example / kotlin-source / build / nodes / PartyB。
  8. 在此之后,如果我启动cordapp-example网络并访问PartyA和PartyB,我将看到PartyA有2个IOU状态,但PartyB只有1个IOU状态。我不确定我需要做什么才能将丢失的IOU状态从PartyA同步到PartyB。

2 个答案:

答案 0 :(得分:2)

因此,重要的是要理解这里没有同步功能,因为在流程中节点进行交易时状态保持同步;你在这里有效地做了什么是删除和修改你的世界观。

Corda不是像比特币或以太坊那样的公共区块链;每个演员的分类帐视图都是主观的,因此如果您删除或丢失数据,您将无法从其他方恢复。如果您在商业上考虑这个问题,为什么另一个演员有任何动机来帮助您恢复这些数据?保持数据安全只是您在商业世界中进行交易时的责任之一。

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

答案 1 :(得分:0)

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

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