Repository navigation
Canton .NET SDK 0.7.0 is out, for Canton 3.6 #99
monsieurleberre
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Canton .NET SDK 0.7.0 is out. It is the stable release for Canton 3.6: the protos and the JSON Ledger API spec are pinned at Canton 3.6.1, codegen runs on Daml SDK 3.6.0, and it is tested against LocalNet 0.9.1 (Splice 0.9.1) and PQS 3.6.0. If you are still on Canton 3.5, stay on 0.6.x.
If you are new here, the SDK lets a C# / .NET team build on a Canton/Daml ledger with types all the way through.
dpm codegen-csturns a DAR into C# records, typed choices andTry…Asyncsubmission methods. A singleICantonLedgerClientsubmits them over gRPC or the JSON Ledger API, and a PQS client, OpenTelemetry tracing and in-memory test doubles sit alongside. It targets .NET 10 and is Apache-2.0.What changed in 0.7.0
PrepareSubmissionAsyncrecomputes the transaction hash on both transports (hashing schemes V2 and V3) and refuses a mismatch. External-party onboarding gets the same check: the generated topology and the allocated party must match what you asked for.WithPackageIdSelectionPreferencewhen you need to.NotCommitted. A retried write whose outcome is unknown is reported asUnknown, and it carries theCommandIdto look up on the completion stream before you resubmit.0.7.0 has breaking changes from 0.6.0. In short: move to Canton 3.6, bump every package together, clear the dpm component cache and regenerate. The upgrade section of the release notes lists each change.
Much of this came out of an outside review by the Rust SDK team (#82 to #91). Thank you for it.
What's published
0.7.0on nuget.org, such asDaml.Runtime,Canton.Ledger.Grpc.Client,Canton.Ledger.Rest.ClientandCanton.Ledger.Pqs.ClientSplice.*packages built from Splice 0.9.1, for exampleSplice.Api.Token.Holding.V21.0.0.19Daml.Finance.Interface.Holding.V44.0.0.18oci://ghcr.io/peacefulstudio/dpm-codegen-cs:0.7.0Try it, and tell us how it went 🚀
The quickest way to see it working is the mini-demo, whose 0.7.0 release is on this SDK version. One
dotnet runtakes a Token Standard V2 transfer from Daml source to a local Canton ledger, over gRPC and the JSON Ledger API, and reads it back from PQS. On a fresh Ubuntu VM the whole quickstart took about 20 minutes from the dpm install to the demo'sDoneline, mostly downloads of the Daml SDK and the LocalNet images; the demo itself runs in about ten seconds. Its CI runs it against LocalNet on every push.If you try it, tell us how it went in Quickstart feedback: your OS, roughly how long it took, and anything you'd improve. That thread also has the commands in one block. Bugs are easiest to track as issues.
Need a hand?
If you are building something on Canton with .NET, #79 is the place to tell us about it, and we are happy to help with an integration.
Links
Peaceful Studio
All reactions