将数据从 Corda 2 迁移到 Corda 3
Migrating data from Corda 2 to Corda 3
https://docs.corda.net/changelog.html#version-3-0 表示 "an H2 database instance of Corda 1.0 and 2.0 cannot be reused for Corda 3.0"。这是否意味着如果我有一个 Cordapp 运行ning Corda 2.0 并且我想将我的 CorDapp 升级到 Corda 3.0,我需要从 Corda 2.0 丢弃我节点的所有存储信息,重新开始并重新 运行 在接受新交易之前处理的所有交易?
我们举个例子。我有一个 Corda 2.0 的 CorDapp 来记录提现和提现。这个 CorDapp 已经运行了一段时间,已经有 10k 笔交易存储在保险库中。假设每天有 50 笔新交易。
假设在 3 月 1 日,爱丽丝存入 30 美元。 3 月 2 日,爱丽丝取出 20 美元。因此,她只有 10 美元可用。
如果我想在 3 月 14 日将我的 Cordapp 升级到 Corda 3.0,我需要丢弃我的 Corda 2.0 Cordapp 中存储的数据(persistence.mv.db
,等等)并重新运行 在允许 Alice 做任何新的 deposits/withdrawals 之前,Corda 3.0 中的那 10k 笔交易(因为我不允许 Alice 有任何不同于 10 美元的东西)。我的理解正确吗?
没错。 Corda 1.0 保证 API 稳定性(这意味着你的 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 上的所有交易,并且在该过程完成后只有 运行 个新交易。
https://docs.corda.net/changelog.html#version-3-0 表示 "an H2 database instance of Corda 1.0 and 2.0 cannot be reused for Corda 3.0"。这是否意味着如果我有一个 Cordapp 运行ning Corda 2.0 并且我想将我的 CorDapp 升级到 Corda 3.0,我需要从 Corda 2.0 丢弃我节点的所有存储信息,重新开始并重新 运行 在接受新交易之前处理的所有交易?
我们举个例子。我有一个 Corda 2.0 的 CorDapp 来记录提现和提现。这个 CorDapp 已经运行了一段时间,已经有 10k 笔交易存储在保险库中。假设每天有 50 笔新交易。
假设在 3 月 1 日,爱丽丝存入 30 美元。 3 月 2 日,爱丽丝取出 20 美元。因此,她只有 10 美元可用。
如果我想在 3 月 14 日将我的 Cordapp 升级到 Corda 3.0,我需要丢弃我的 Corda 2.0 Cordapp 中存储的数据(persistence.mv.db
,等等)并重新运行 在允许 Alice 做任何新的 deposits/withdrawals 之前,Corda 3.0 中的那 10k 笔交易(因为我不允许 Alice 有任何不同于 10 美元的东西)。我的理解正确吗?
没错。 Corda 1.0 保证 API 稳定性(这意味着你的 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 上的所有交易,并且在该过程完成后只有 运行 个新交易。