将数据从Corda 2迁移到Corda 3

时间:2018-03-15 14:13:01

标签: corda

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已经运行了一段时间,已经有10k个事务存储在Vault中。让我们说每天有50个新交易。

假设3月1日,爱丽丝存入30美元。 3月2日,爱丽丝退出20美元。因此,她只有10美元可用。

如果我想在3月14日将Cordapp升级到Corda 3.0,我将需要丢弃Corda 2.0 Cordapp(hc_add_series(pointPlacement = 'on', data = productData, type = 'sankey', nodes = nodes, name = 'Sankey Series') 等)中存储的数据并重新运行这些10k交易在允许Alice进行任何新的存款/取款之前,在Corda 3.0中(因为我不允许Alice拥有不同于10美元的任何东西)。我的理解是否正确?

1 个答案:

答案 0 :(得分:3)

这是对的。 Corda 1.0保证了API的稳定性(意味着你的CorDapps不会从Corda的一个版本中断到下一个版本),但它并不能保证电线的稳定性。这意味着使用Corda 2.0或更早版本创建的数据不一定是Corda 3.0可读的。

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

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