Daml 2 dar compatibility with Canton 3

Hello,

If I have a dar that was built on daml 2.x, can I upload that to a canton 3 validator, provided that the there are no deprecated features within the 2.x code? And vice versa for a 3.x dar on canton 2?

Thanks,

Austin

Well, you won’t be able to use the keys from DAML 2 when moving forward to DAML 3.

Do you mean, that you will keep the DAML’s version in the daml.yaml file with version 2 (like 2.10.1) , but run it on Canton 3 validator?

Yes exactly. Assuming the 2.10.1 code doesn’t have keys or any other language changes that would case a problem, can I run that dar on the canton 3 validator? And if I had a dar built on 3.4.1 (or whatever other version), could I deploy that on a canton 2 participant node?

When I tried to deploy a 2.10.x built DAR on a 3.4.x Canton, it complained about the version. I did not investigate further (cli flags, etc) but switched to a 3.4.x SDK.

Hi Austin,

Packages compiled using a Daml 2 SDK use a 1.x LF version. (latest one should be 1.16 if I remember correctly).

Packages built using a Daml 3 SDK, on the other hand, compile to LF 2.x.

A Canton 3 node does not support LF 1.x and, vice-versa, I believe a Canton 2 node does not support LF 2.x.

Matteo

Got it, thanks Matteo!