Skip to content
CCPEDIAby Unity Nodes

RFP 17: Scala client contribution — feedback on scope and existing tooling

1 posts28 viewsLast activity 2d ago

  1. ayushmishra2005OP

    Hi everyone,

    I’m Ayush Kumar Mishra, an independent developer exploring a Scala client contribution under RFP 17 — SDKs in different languages. Dr. Amanda Martin kindly recommended bringing this discussion to the forum for input from the Daml Language & Developer Tooling SIG and other Canton developers.

    What I’m trying to establish

    The Development Fund roadmap identifies Scala as lacking a known fully featured SDK. However, existing Scala Ledger API components, including ledger-api-core_2.13, and maintained Java bindings/codegen already provide substantial functionality.

    I would like to identify the specific missing capabilities that would make a Scala contribution useful to application teams.

    A possible starting scope

    One direction is a small, documented Scala-facing client library that reuses existing JVM components and Java-generated Daml contract types, with working examples, integration tests and a clear compatibility policy.

    For example, a Scala service needs to submit a command, determine its outcome if the connection drops, and resume consuming ledger updates after reconnecting. I’d like to understand whether existing supported components already make this straightforward, or whether teams repeatedly implement their own solutions.

    Command recovery, stream reconnection and authentication lifecycle handling are areas to investigate—not gaps I’m assuming are missing.

    Questions for maintainers and application developers

    1. What concrete problems do Scala/JVM application teams face with the existing Canton client tooling? Examples of custom integration code or difficult workflows would be particularly helpful.

    2. Which existing components should an external Scala application use? In particular, is ledger-api-core_2.13 intended as a supported public application API?

    3. Is related work already underway, and would the useful contribution belong upstream or in a separate library?

    4. Would anyone be interested in reviewing a short scope or evaluating a small prototype against an actual application workflow?

    My background

    I have approximately 11 years of hands-on Java and Scala experience, including Scala/Akka work for Bank of America Merrill Lynch through Knoldus, production Daml development at Knoldus, and ecosystem engineering at Parity Technologies.

    My public Canton-related work includes:

    These projects provide background on my experience. I’m seeking feedback on a fresh contribution before defining a Development Fund proposal, and I’m open to collaborating with an existing effort.

    Thank you for your time. Concrete examples, corrections and pointers to relevant work would all be appreciated.

    Ayush Kumar Mishra
    GitHub