not approved
Upgrade CardanoSharp Library: Cross-Platform Compatibility & Optimized Coin Selection
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳190,000
Percentage
Received
0.00%
Solution

Upgrade CardanoSharp by adding composable minUtxo outputs, Aiken Compilation, Ex Unit calculations, coin selection algorithms, provider support, and ensuring multi-platform .NET compatibility.

Problem

Lack of advanced features and cross-platform functionality in CardanoSharp, limiting development within Cardano ecosystem specifically with gaming / native desktop apps.

Feasibility
Value for money
Impact / Alignment

Team

1 member

Upgrade CardanoSharp Library: Cross-Platform Compatibility & Optimized Coin Selection

Please describe your proposed solution.

We're proposing a comprehensive upgrade of the CardanoSharp library. CardanoSharp is an invaluable tool for developers who use .NET and want to leverage Cardano's capabilities.

Currently there are 2 well known dapps that leverage CardanoSharp:

Both of these dapps along with many smaller ones can be dramatically improved with the following CardanoSharp Enhancements

  1. Optimized Coin Selection Algorithms: Efficient handling of UTXOs is crucial in blockchain applications. Currently coin selection batches change selection into 1 change UTXO which decreases parallelism
  2. Local Ex Unit calculation, leveraging an added Plutus Virtual Machine
  3. Add composable minUtxo outputs along with extensive transaction building testing.
  4. Ensure the builds with the newly added functionality are compatible with all .net environments including Unity environments

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

The proposed solution will make CardanoSharp one of the premier libraries in the Cardano ecosystem. Being able to do everything from transaction building, coin selection, Ex Unit calculation, and fee calculation all in a composable way that works on every platform .Net is available on.

How do you intend to measure the success of your project?

The success of the project can be confirmed if the features are added, tested, AND used effectively in live Cardano Dapps. It is very important that these features are needed by dapps before work begins.

I have had a hand in building both of the most popular dapps that use this library so I am confident in saying these features are needed.

Please describe your plans to share the outputs and results of your project?

I will be posting regular, almost daily updates on twitter and ideally other social media outlets too regarding this work. The posts will consistent of tech screenshots, link to github commits, and timing calculations to show the benefits of what is being added

What is your capability to deliver your project with high levels of trust and accountability?

I have written 4 Dapps for Cardano, 2 of which are operation and successful and have also already built all of the smart contract support into the CardanoSharp library. While Kyle is a very talented .NET developer and stake pool operator who was the original author of the CardanoSharp Library

What are the main goals for the project and how will you validate if your approach is feasible?

The main goal is the ensure that CardanoSharp remains a premier statically typed backend library for Cardano transactions to make it simple, easy, and intuitive to build dapps on the chain.

These proposed feature adds are critical in order to maintain the library and ensure it excels.

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

  • Adding additional composable transaction building functionality that dapps need to the library with automated fee calculation and coin selection optimization - 1.5 Month
  • Adding provider support for data fetching through blockfrost / dbsync - 1 Month
  • Adding the Plutus Virtual machine to enable local redeemer calculations and make Cardano cross platform compatible with local ex unit calculations - 2.5 Months
  • Polish and finalizing testing infrastructure so users can know the library is operation and safe - 1 month

Please describe the deliverables, outputs and intended outcomes of each milestone.

  • The first output would be several open source github commits that add transaction building functionality such as auto minUtxo calculations and fee calculations
  • The second will involve allowing users to select external providers to fetch chain data such as protocol parameters
  • The 3rd ask is the trickiest and it involves writing the Plutus Virtual machine into the library so that the VM can correctly calculate Ex units from an intended transaction. This also has the benefit of extremely robust and smart contract testing
  • And finally we will polish the library for proper refectors and tests where needed to to ensure developer experience through the readmes is clean and simple

Please provide a detailed budget breakdown of the proposed work and resources.

  • Update Composable Transaction Builder - 30k ada
  • Provider Support - 20k ada
  • Plutus VM - 100k Ada Months
  • Polish / Automated Testing - 40k ada

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

Avatar Nick - <https://twitter.com/TheAvatarNick> - .NET Developer / Smart Contract Developer

Nick will be in charge of the transaction builder and the Plutus VM addition

Avatar Chris - <https://twitter.com/TheAvatarNick> - .NET Developer

Chris will add the provider support

Kyle Johns - https://twitter.com/The_Kyle_Johns

Kyle will be in charge of automated testing and ensuring the quality is high caliber

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

The cost of the project is extremely valuable for the ecosystem as Cardano needs a top tier statically typed backend language library for large enterprise applications.

Nearly every mobile game and indie game runs on C# meaning this library will be used by every C# / Unity game leveraging the Cardano Blockchain.

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