Community Update - September 2020

As mentioned last month we're turning our former announcement post into a community update. Below you'll find everything our community has been up to over the past month.

Update: 1.5.0 has been released and you can read the full release notes here.

What's New in the Ecosystem

Firstly we will be holding two community open door sessions for the 1.5.0 RC, one for US-based timezones and one for APAC. 

We might be a lot about Daml but we're not *just* about Daml. Our biggest piece of news this month is that @cocreature just handed over maintenance of ghcide to the Haskell community, and they’re super-excited. This has major benefits for both Haskell and Daml as more maintainers will lead to more useful features in Haskell and Daml IDEs. Check out the rest of the details here. ‍♀️‍♂️

Our second Community Recognition Ceremony has kicked off. We do these quarterly to make sure our community members get the recognition they deserve for all of their wonderful contributions. Nominate who you think deserves to win here


György showing off the hoodie he won in the first Community Rewards Ceremony

Block8 just started a 4 part series comparing the upsides and downsides of Daml vs. Java on Corda. It’s a seriously explosive review covering state, transactions, ease of development, testing, and functionality. 

@bartcant shows us how to use Daml to manage medical testing data while guarding patient’s privacy. ‍⚕️‍⚕️

@Shaul, our mostly fearless CTO, broke down how scaling works on Daml ledgers.

@gyorgybalazsi took a deep dive into the Daml Finance library in the second post of his Daml master class. Covering big ideas like semantically rich identifiers, modularity, and multistep settlement chains. Few have explored the depths of the finance library like György has. György also found a bug where Ordering didn't have a Show instance, so now it does. Thanks!

We learned Exberry is using Daml and project:DABL to power ⚙️ the backend for their exchange infrastructure. Pretty cool.

@Amy_Ahmed , @andreolf@talia.klein@Felix_Kam@ManishGrover, and myself (@anthony) spent the last month mentoring students and participating at the hackbfs.com ideation-a-thon. It’s been a great experience being able to share our knowledge with the next generation of builders. ‍‍

@ManishGrover showed us how to improve customer experiences with smart contracts.

And in case you missed it Dimitri Liakakos and @cocreature gave a webinar on what Daml Triggers are and how to write them. The full video is here.

Release Candidate for Daml SDK 1.5.0

The preliminary release notes and installation instructions for Daml SDK 1.5.0 RC can be found here.

1.5.0 RC Highlights

  • Daml Script is now fully integrated into the IDE and will supersede Scenarios.
  • Turn Daml expressions into JSON using the REPL (ex. :json [1, 2, 3]) which is useful for talking to the JSON API.
  • Daml on SQL now has much richer logging which means error messages will be a lot more transparent, allowing you to see exactly what call data caused an error. We’re also adding support for structured logs via Logstash Logback Encoder.
  • foldl and foldr performance has improved by 4x! 4x faster folds IN. ANY. DIRECTION. YOU. WANT.
  • Application IDs now work in Daml Script, Triggers, and REPL. Useful if you’re working with ledgers with authentication.
  • The Trigger Service can now bind to addresses other than localhost.


Script working in the Daml IDE just like Scenarios

What’s Coming

We are continuing to work on performance of the Daml integration components and improving production readiness of Daml Ledgers, but there are exciting features and improvements in the pipeline for the next few releases as well.

  • The Trigger Service will reach feature completion and move into Beta
  • The authentication framework for Daml client applications (like the Trigger Service) is being revisited to make it more flexible (and secure!)
  • The build process for Daml client applications using the JavaScript/TypeScript tooling is being improved to remove the most common error scenarios
  • Daml's error and execution semantics are being tidied up with a view towards improving exception handling in Daml
  • Daml will get a generic Map type as part of Daml-LF 1.9