funded
Multiplatform Plutus Script Cost & Evaluation Library (JS/JVM/LLVM)
Current Project Status
In Progress
Amount
Received
₳49,000
Amount
Requested
₳128,000
Percentage
Received
38.28%
Solution

Add Plutus script cost calculation to Scalus. Scalus

Re-organize the project and extract a separate library from it.

Use Scala ability to work on JVM, JS and LLVM platforms.

Problem

There is no library to evaluate Plutus scripts and its execution budget except Haskell OG.

Projects have to use Blockfrost or Haskell CLI tools to compute transaction fees.

Impact Alignment
Feasibility
Value for money

Team

1 member

Multiplatform Plutus Script Cost & Evaluation Library (JS/JVM/LLVM)

Please describe your proposed solution.

Add Plutus script cost calculation to Scalus.

Re-organize the project and extract a separate library from it.

Use Scala ability to work on JVM, JS and LLVM platforms.

Make Java API and export the library to Maven Central.

Make TypeScript API and binding and export the library to NPM.

Make C API headers.

Please define the positive impact your project will have on the wider Cardano community.

All DApp developers will be able to evaluate their scripts and calculate Tx fees and execution budgets from their JVM and JavaScript code.

On Node.js backend, and in a browser.

Potentiall even on Adnoid and iOS!

That's going to be sensational!

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

I’m a former compiler engineer at IOG, I worked on Marlowe DSL (<https://marlowe.iohk.io>).

I’m a senior Scala engineer with more than 10 years of Scala development experience with companies like UBS and Deutsche Bank.

I’m already working on Scalus and have visible results. Current version of Scalus 0.3 already works quite well and is able to compile large and complex contracts that work on Testnet and Mainnet.

What are the key milestones you need to achieve in order to complete your project successfully?

Add Plutus script cost calculation to Scalus.

>Re-organize the project and extract a separate library from it.

>Make Java API and export the library to Maven Central.

>Make TypeScript API and binding and export the library to NPM.

>Adapt code to compile to LLVM via Scala Native.

Make C API headers.

>The library is feature complete (Plutus V1 and V2) and documented.

It has Java API. The library jar files are published to Maven Central.

It has TypeScript API binding, and the library is published to NPM.

It has C header files and it can be compiled as a C library.

Who is in the project team and what are their roles?

I’m a former compiler engineer at IOG, I worked on Marlowe DSL (<https://marlowe.iohk.io>).

I’m a senior Scala engineer with more than 10 years of Scala development experience with companies like UBS and Deutsche Bank.

I’m already working on Scalus and have visible results. Current version of Scalus 0.2 already works quite well and is able to compile large and complex contracts that work on Testnet and Mainnet.

Please provide a cost breakdown of the proposed work and resources.

Add Plutus script cost calculation to Scalus. – 160h

Re-organize the project and extract a separate library from it – 40h

Make Java API and export the library to Maven Central – 40 h

Make TypeScript API and binding and export the library to NPM – 40h

Support LLVM platform – 120h

Make C API headers and C library compilation – 40h

Documentation – 40h

Total hours 480h * $80 / 0.3 = 128000

How does the cost of the project represent value for money for the Cardano ecosystem?

All DApp developers will be able to evaluate their scripts and calculate Tx fees and execution budgets from their JVM and JavaScript code.

That's going to be sensational.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00