over budget
Production grade code education: Aiken, Plutarch & PlutusTx
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳100,000
Percentage
Received
0.00%
Solution

Build, finetune, and prep in an edu-style open-sourced request parsing code of WR DEX smart contracts in PlutusTx, Plutarch, and Aiken. Showcase differences in the performance, testing, and exporting.

Problem

Lack of practical education on the performance differences between languages used in Cardano and their root causes in code level.Quality of the generated code, ease of writing the validation and tests

Impact Alignment
Feasibility
Value for Money

Team

1 member

Production grade code education: Aiken, Plutarch & PlutusTx

Please describe your proposed solution

Build, finetune, document and process in an educational manner open-source piece of the WingRiders DEX smart contracts logic dealing with the user interaction request parsing, as it fits the following criteria:

  • It is feature-rich enough to enable an interesting and detailed enough comparison between the languages
  • It is compact and self-contained enough to allow for a concentrated analysis

We intend to adapt and open-source the PlutusTx version of the validation that is used in the WingRiders V1 Pools, the Plutarch one that is used in the V2 Pools, and build an additional implementation in Aiken.

We also propose to illustrate in an educational manner the process of testing the implementation and compiling the contracts with the purpose of using them on-chain. After that, a detailed analysis of the script size, execution costs, UTxO limits, and growth factors of all the resulting scripts will be conducted to highlight the differences in performance, code generation quality, ease of writing, reviewing, and testing among the chosen languages. Links to the public testnet transactions will be shared as a part of the learning materials.

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

The lack of accessible and practical educational materials on the differences between various popular languages used on Cardano and their specifics in terms of performance-impacting approaches is a problem that hurts productivity, awareness, and capability among the development community to continually advance the ecosystem forward in terms of technological improvement.

The developers get additional materials for a comprehensive understanding of the available options for writing applications on Cardano, a way to assess what they can expect when they choose a language in terms of the performance and quality of the generated code, how easy it is to write the validation and test it if the language is a good fit semantically for the available on-chain functionality, and how easy it is to configure and export the scripts so they can be used on-chain.

The users get an overview of the technological choices available in the ecosystem to know what fees and contracts quality they can expect out of the applications they choose to use.

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?

As WingRiders, we have a track-proven record of developing within the Cardano ecosystem. Over the years we’ve shown to be at the forefront of technological advancements when it comes to DEXes and Cardano in general. We were the first ones to bring support for Stableswaps, have a fully on-chain DAO governance, and recently launched the first trustless non-custodial launchpad. Created a lot of open source tooling and continues to push the edge of what is possible with the Cardano chain evolving. Regarding fund management, we adhere to rigorous protocols ensuring robust financial stewardship and accountability. Our practices encompass the maintenance of transparent financial records, periodic internal audits, and strict compliance with financial reporting standards. We understand the imperative nature of prudent fund management and commit to upholding the highest standards of fiscal responsibility throughout the project's lifecycle.

As an evidence, we have 2 Catalyst proposals from F10 and F11 in progress. Both are being delivered according to the milestone schedule and budget , with Proof of Achievement submitted and approved for all completed milestones.

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

Milestone 1: Milestone 1: PlutusTx

  • Description: Adapting the existing PlutusTx request parsing code from the WingRiders DEX V1 codebase so it can run in isolation from the rest of the DEX logic as a separate validator. Preparing the development environment. Setting up the contracts exporting, writing unit tests.
  • Expected timeline: 18 working days
  • Outputs: An open-source public GitHub repository with the source code.
  • Acceptance criteria: The repository is publicly accessible and contains the contracts’ source code, exporting machinery, and tests.

Milestone 2: Milestone 2: Plutarch

  • Description: Adapting the existing Plutarch request parsing code from the WingRiders DEX V2 codebase so it matches the PlutusTx version algorithmically and can run in isolation from the rest of the DEX logic as a separate validator. Preparing the development environment. Setting up the contracts exporting, writing simple unit tests.
  • Expected timeline: 15 working days
  • Outputs: An open-source public GitHub repository with the source code.
  • Acceptance criteria: The repository is publicly accessible and contains the contracts’ source code, exporting machinery, and tests.

Milestone 3: Milestone 3: Aiken and Public test net runs

  • Description: Writing an Aiken implementation of the request parsing logic that matches the PlutusTx and the Plutarch ones. Preparing the development environment. Setting up the contracts exporting, writing simple unit tests. Running the generated code on the public test net to determine the performance differences between the implementations, the fees, and the upper batch limits of the scripts.
  • Expected timeline: 15 working days
  • Outputs: An open-source public GitHub repository with the source code. Transactions with the limits of the scripts on the public test net.
  • Acceptance criteria: The repository is publicly accessible and contains the contracts’ source code, exporting, and tests. The transactions from testing are publicly available and shared through the WingRiders public channels

Final Milestone: Final Milestone: Analysis, Project Completion Report and Video

  • Description: Write a document with the analysis of the different implementations produced by previous milestones. We describe the difficulties encountered when writing the implementation and tests, and provide quantitative metrics on the differences between the final scripts based on the public test net testing.
  • Expected timeline: 15 working days
  • Outputs: a document with the analysis of the used languages, a final project completion report, and a video overview of the completed work
  • Acceptance criteria: the document, final project report, and video are publicly available

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

WingRiders engineering team is composed of experienced professionals in blockchain technology and software development. Our team members stand behind projects like Adalite, Yoroi wallet, Emurgo’s first blockchain explorer/indexer, firmware for hardware wallets Trezor and Ledger (bringing them to Cardano), and a whole plethora of FinTech products.

Please provide a cost breakdown of the proposed work and resources

Milestone 1: PlutusTx

  • Milestone Budget: ₳ 30,000
  • Resource MDs:
  • Software engineer (senior & junior): 21
  • Project manager: 1.5

Milestone 2: Plutarch

  • Milestone Budget: ₳ 30,000
  • Resource MDs:
  • Software engineer (senior & junior): 21
  • Project manager: 1.5

Milestone 3: Aiken and Public test net runs

  • Milestone Budget: ₳ 32,000
  • Resource MDs:
  • Software engineer (senior & junior): 23
  • Project manager: 1.5

Final Milestone: Analysis, Project Completion Report and Video

  • Milestone Budget: ₳ 8,000
  • Resource MDs:
  • Software engineer: 10
  • Marketing: 2
  • Project manager: 0,5

No dependencies

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

The Cardano ecosystem gets high-quality educational materials based on a real production-running codebase about the available languages the developers can use. The users get an overview of what quality of the on-chain code they can expect from the various Dapps’ contracts based on the language they use, and the ecosystem as a whole gains additional much-needed accessible learning resources.

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