【问题标题】:Migrating data from Corda 2 to Corda 3将数据从 Corda 2 迁移到 Corda 3
【发布时间】:2018-08-24 09:35:02
【问题描述】:

https://docs.corda.net/changelog.html#version-3-0 声明“Corda 1.0 和 2.0 的 H2 数据库实例不能用于 Corda 3.0”。这是否意味着如果我有一个运行 Corda 2.0 的 Cordapp,并且我想将我的 CorDapp 升级到 Corda 3.0,我需要从 Corda 2.0 丢弃我节点的所有存储信息,重新开始并重新运行在接受之前处理的所有事务新的?

让我们举个例子。我有一个 Corda 2.0 CorDapp 来记录现金进出。这个 CorDapp 已经运行了一段时间,已经有 1 万笔交易存储在保险库中。假设每天有 50 笔新交易。

假设在 3 月 1 日,Alice 存入 30 美元。 3 月 2 日,Alice 提取了 20 美元。因此,她只有 10 美元可用。

如果我想在 3 月 14 日将我的 Cordapp 升级到 Corda 3.0,我需要丢弃 Corda 2.0 Cordapp(persistence.mv.db 等)中存储的数据,然后在 Corda 3.0 中重新运行这 10k 笔交易允许 Alice 进行任何新的存款/取款(因为我不能允许 Alice 有任何不同于 10 美元的东西)。我的理解正确吗?

【问题讨论】:

    标签: corda


    【解决方案1】:

    没错。 Corda 1.0 保证了 AP​​I 的稳定性(意味着你的 CorDapps 不会从 Corda 的一个版本中断到下一个版本),但它不保证线路稳定性。这意味着使用 Corda 2.0 或更早版本创建的数据不一定能被 Corda 3.0 读取。

    Corda 3.0 确实保证线路稳定性,这意味着从 Corda 3.0 开始创建的数据将可以被未来的版本读取,并且运行不同 Corda 版本 (3.0+) 的节点将能够进行通信。

    从 Corda 2.0 迁移到 Corda 3.0 的最佳选择确实是在 Corda 3.0 上重新运行所有事务,并且仅在该过程完成后才运行新事务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-02
      • 2019-10-06
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      相关资源
      最近更新 更多