如何处理流程迁移以处理合同升级?
How to handle flows migration to handle contract upgrade?
maintain/approach 就流量而言,合同状态升级的最佳方式是什么。
场景。
现有的 BondStateV1
并且流程使用 class 类型的 BondStateV1,即 queryBy<BondStateV1>
现在。我们想将 BondStateV1 升级到 BondStateV2。
我们如何改变流量?
- 我们是否保留旧流程并部署新的 FlowCordappV2?
- 或者在将 BondStateV1 迁移到 BondStateV2 之后,我们是否 deprecate/delete 所有旧的 FlowCordapp,重构以处理 V2 并重新部署?
状态和合约升级独立于流程发生,遵循此处给出的方法:https://docs.corda.net/upgrading-cordapps.html#contract-and-state-versioning。
但是您的流程随后需要处理网络上 BondStateV1
和 BondStateV2
状态的(潜在)存在。您可以按照此处的说明实现此目的:https://docs.corda.net/upgrading-cordapps.html#how-do-i-upgrade-my-flows.
maintain/approach 就流量而言,合同状态升级的最佳方式是什么。
场景。
现有的 BondStateV1
并且流程使用 class 类型的 BondStateV1,即 queryBy<BondStateV1>
现在。我们想将 BondStateV1 升级到 BondStateV2。 我们如何改变流量?
- 我们是否保留旧流程并部署新的 FlowCordappV2?
- 或者在将 BondStateV1 迁移到 BondStateV2 之后,我们是否 deprecate/delete 所有旧的 FlowCordapp,重构以处理 V2 并重新部署?
状态和合约升级独立于流程发生,遵循此处给出的方法:https://docs.corda.net/upgrading-cordapps.html#contract-and-state-versioning。
但是您的流程随后需要处理网络上 BondStateV1
和 BondStateV2
状态的(潜在)存在。您可以按照此处的说明实现此目的:https://docs.corda.net/upgrading-cordapps.html#how-do-i-upgrade-my-flows.