Hello there,
I am working on a distributed ledger project using DAML; and I am seeking advice on how to handle DAML upgrades efficiently; particularly in a complex workflow where multiple parties are involved.
We have several workflows running on the same DAML ledger; and these workflows involve multiple participants across different organizations. Each participant operates with their own smart contract templates; and as the project evolves; we have encountered a need to make changes to these templates; which requires upgrading our DAML models.
How do we ensure that the existing contracts are compatible with new template versions while ensuring that ongoing workflows are not disrupted?
With multiple participants in the network, we need a way to coordinate upgrades so that everyone remains in sync. Are there any proven strategies for handling version discrepancies between parties?
We also need to transfer data between different versions of contracts; and I am wondering if there are any recommended approaches for ensuring a smooth data migration process.
Also, I have gone through this post; https://discuss.daml.com/t/programing-for-upgradeability-and-an-upgrade-proposal-tableau/ which definitely helped me out a lot.
What is the best way to simulate or test the upgrades in a multi-party environment before deploying them on the live ledger?
Thanks in advance for your help and assistance.