Introducing Daml Connect

 

Our mission at Digital Asset is to give systems of record the ability to safely cross organizational, legal, or other boundaries and to create seamless economic networks.

The open source Daml smart contract language and its drivers run on leading blockchains, distributed ledger technologies (DLTs) and databases to form a solid foundation for accomplishing that mission. With Daml, the core of systems of record are written in a portable, purpose-built language that future-proofs investment and reduces development cost. Daml language and drivers are to shared systems of record what Java is to applications, and they are to blockchains, what ODBC/JDBC is to databases.

But Daml has always been more than a smart contract language, just as real-world systems of record are much more than SQL statements that manipulate databases. In order to form holistic solutions, the shared core of these systems must be embedded in the broader enterprise. In many projects, this integration component dwarfs the development of the core. And to end up with composable solutions that deliver on the blockchain vision for economic networks and provide optimal long-term returns on project investment, this integration needs to be done well. Daml supports this not only through developer tools that go beyond smart contracts, but through mission-critical libraries and runtime components that take care of common development tasks and encourage composable solution architecture.

With Daml Connect, Digital Asset is now introducing an umbrella for all the tooling required to build full stack Daml solutions, deploy them to any of Daml’s many deployment targets, and support them through the full software development lifecycle. We continue to stand behind our strong commitment to open source software and our community with the Daml Connect Community Edition and the Daml forums, which will continue to offer the tools and community support needed to build free and open source solutions using Daml without friction. The commercial Enterprise Edition builds on the Community Edition by including advanced developer tools, integration features, and deployment tooling geared towards reducing the development and operational costs of complex solutions in enterprise contexts. It also offers 24/7/365 ticket-based support from Digital Asset.

Daml Connect high level architecture
Daml Connect high level architecture

Daml Connect complements Digital Asset’s existing product offerings with a complete solution for those wanting to join an existing network. It contains everything you need to connect to running networks, plus a comprehensive set of tools for building, testing, deploying, integrating, and maintaining your Daml applications.

Digital Asset's products
Digital Asset’s products

Enterprise Integration

Daml Connect’s primary purpose is to speed up time-to-market of fully integrated solutions. This requires a comprehensive set of tools for automation, integration, and presentation. But for Digital Asset, enterprise integration means integrating with whatever technology is already present. Daml slots into any given enterprise environment rather than expecting environments to adapt to Daml. 

To provide both a comprehensive toolset as well as high adaptability, Daml Connect provides a holistically designed modular “recommended” stack. Daml Connect as a whole supports the majority of common integration tasks, from automation to presentation. But it delivers this functionality in a highly flexible fashion. Components of Daml Connect encapsulate pieces of functionality and communicate only through documented, public APIs. Developers can choose to use as much or as little of the toolchain as makes sense for their context and can complement the chosen subset with custom integrations that connect to the same stable APIs.

The recommended stack is built around technologies with the broadest adoption and high stability. This includes APIs that use gRPC for high performance streaming and higher-level APIs like HTTP/JSON, and Websockets. It includes JavaScript/TypeScript and Java — the best supported integration languages, React.js as the UI framework of choice, and OAuth2 for the default authentication framework. This design adds to developer productivity, maximizes compatibility, and reduces the amount Daml solutions or their environments have to be adopted to deliver fully integrated solutions.

Typical architecture of an application built with Daml Connect
Typical architecture of an application built with Daml Connect

Developer Productivity

Systems of record running on distributed ledgers and spanning across entities and boundaries are a new kind of application. Developing them effectively not only requires purpose-built languages and integration toolkits but also tooling that allows developers to put these pieces together with minimum friction.

Developer experience has been one of Digital Asset’s focus areas from the very creation of Daml. Now, Daml Connect’s comprehensive suite of developer tools enables developers to build Daml applications rapidly and iteratively, following best practices like test-driven development (TDD) or behavior-driven development (BDD).

At the core of this is the Daml smart contract language with its primitives carefully designed to capture core business logic safely and easily. Smart contract development is facilitated by Daml Studio, a fully featured IDE. It provides real-time compiler feedback and helpful suggestions to improve code quality. Test- and behavior-driven development are enabled through script-based testing that visualizes the effect of code changes on application behaviors in real time. The same scripts can be reused for testing in continuous integration or to manipulate production ledgers, leading to high code reuse. Code reuse is further enabled through code generation for JavaScript/TypeScript and Java, and by allowing ledger automation to be written directly in Daml.

Application and integration testing are supported through a full suite of Daml Connect runtime components and a lightweight test ledger. These tools allow full test environments to be spun up with single commands, using Daml’s command line Assistant. The assistant further aids developers with common development tasks throughout the software development lifecycle, like project management, administering Daml ledgers, or managing developer tools.

To aid manual testing, debugging, and the rapid development of PoCs or Pilots, Daml Connect SDK contains tools for visually exploring, presenting, and interacting with Daml ledgers.

Typical architecture of an application built with Daml Connect
Typical architecture of an application built with Daml Connect

Get Daml Connect

Daml Connect Community Edition is available for download without charge on daml website. Also, for more information about the Enterprise Edition, please contact Digital Asset Sales

Download Daml Connect

Newsletter

Join the DAML mailinglist to get occasional updates on announcements and new releases