[GENERAL] Name and Surname of Main Applicant
Nicholas Maselli
[GENERAL] Email address of Main Applicant
maselli.nicholas@gmail.com
Additional Applicants
Chrisptopher Maselli
Kyle Johns
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
6
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language.
No
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
No
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.” in this field.
This project has no dependencies
[GENERAL] Will your project outputs be fully Open Source?
Yes
[GENERAL] If NO, please describe which outputs are not going to be open source. If YES, please write “Project will be fully open source.” in this field.
The project will be fully open source at https://github.com/CardanoSharp
[METADATA] Category of Proposal
Dev Tools, API or Library
[IMPACT] 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:
- Levvy Finance (https://levvy.fi/) - NFT Lending
- SaturnNFT(https://saturnnft.io/) - CIP-68 NFT Minting
Both of these dapps along with many smaller ones can be dramatically improved with the following CardanoSharp Enhancements
- 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
- Local Ex Unit calculation, leveraging an added Plutus Virtual Machine
- Add composable minUtxo outputs along with extensive transaction building testing.
- Ensure the builds with the newly added functionality are compatible with all .net environments including Unity environments
[IMPACT] 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.
[IMPACT] 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.
[IMPACT] 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
[CAPABILITY/ FEASIBILITY] 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
[CAPABILITY/ FEASIBILITY] 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.
[CAPABILITY/ FEASIBILITY] 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
[CAPABILITY/ FEASIBILITY] 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
[RESOURCES & VALUE FOR MONEY] 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
[RESOURCES & VALUE FOR MONEY] 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.
[IMPORTANT NOTE] The Applicant agreed to Fund10 rules and also that data in the Submission Form and other data provided by the project team during the course of the project will be publicly available.
I Accept