CRFA Dev Community Call — 26.11.2021 — Alonzo Support in libraries

Attendees:
- StakeNuts
- Satya

Satya is working on Alonzo support for https://github.com/bloxbean/cardano-client-lib

Currently he uses cardano-cli and complies Plutus Script and he uses output of this compilation as a source file. This approach works very well for some use cases, where one is interacting with one smart contracts from java library but it doesn’t work for the cases where one needs to interact with more Plutus Smart Contracts from single application and worse of all, when one wants to interact with arbitrary smart contracts. One example of such interaction could be writing a bot that checks if smart contracts are properly secured (if there are any exploits or vulnerabilities) or a bot that inspects smart contracts for certain statistics.

3 ways to serialise Plutus Script to get execution units calculated

There are number of ways to solve this problem (invoking cardano-cli via command line) and implement this elegantly:

  • Emurgo delivers execution units as part of Rust cardano-serialization-library (with WASM exporter). Pros: this is how many people imagine this should be done, cons: when execution units calculation changes in Haskell then this code needs to be manually updated and then projects using Emurgo’s library have to recompile.
  • Blockfrost adds a new endpoint so that one can pass Plutus Script and execution units in CBOR or JSON format + metadata would be calculated

We added new issue to OpenApi (Blockfrost)

Marek Mahut, which attended the call as well said this is a good idea but could not promise when it will be done. This is also a perfect example of open sourcing Blockfrost, any developer could contribute via PR such a thing. Please support open sourcing Blockfrost! There many advantages to this!

We agreed that Blockfrost solution would be relatively easy to do and provide already huge value for the Cardano Developer community. This is because it is not something that only BloxBean could use but also NamiWallet and of course Cardano JDK in JS:

If you have any questions don’t hesitate to contact us on: fanscardano@gmail.com