funded

Sundae Labs Next-Gen UPLC Debugger with Aiken Integration

₳22,400.00 Received
₳140,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact Alignment
Feasibility
Value for money
Solution

We will build a dedicated time-traveling UPLC debugger, with integration for the Aiken programming language. This will save developer time through a familiar “step-through” debugger experience.

Problem:

Debugging smart contracts on Cardano is extremely tedious and time consuming. It requires extensive specialized knowledge about UPLC, or time-consuming trial and error.

Yes Votes:
₳ 209,336,967
No Votes:
Votes Cast:
769

This proposal was approved and funded by the Cardano Community via Project F11: Cardano Open: Developers - technical Catalyst funding round.

[SOLUTION] Please describe your proposed solution.

Our proposal is focused on significantly enhancing the debugging experience for developers working with UPLC and Aiken on the Cardano blockchain. We plan to develop a time-traveling debugger for UPLC. This tool will allow developers to execute their compiled UPLC code step-by-step, inspect the state at each step, and even navigate backwards in time. Additionally, if the code was compiled from Aiken, it will expose the Aiken code that produced the resulting UPLC. The goal is to make the debugging process more intuitive and efficient, helping developers quickly identify and resolve issues in their smart contracts.

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

This debugger will significantly overhaul the experience for Cardano smart contract developers, enabling more efficient and effective debugging. We will measure our impact through developer adoption rates and feedback, as well as observed improvements in debugging speed and ease. We will dog-food the tool for our own development, open source the code, and share the tool and accompanying resources widely within the Cardano community.

[CAPABILITY & FEASIBILITY] 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?

Our team, comprising experienced blockchain developers and software engineers, has a proven track record in delivering high-quality development tools. We will validate our approach through continuous testing and community feedback, ensuring our solution meets the real-world needs of Aiken developers.

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

Development of a Simple Command-Line Advancement Debugger

Outputs:

- A functional command-line debugger for UPLC

Acceptance Criteria:

- Debugger allows for the execution of UPLC code step-by-step

- Capability to display terms in scope and call stack on command

- Usable in a standard development environment

Evidence of Completion:

- Release of the debugger tool on GitHub

- Documentation outlining usage and capabilities

- A video demonstration of the debugger in action

> Implementation of Time-Travel Capability for the Command-Line Debugger

Outputs:

- Enhanced command-line debugger with time-travel (step-backward) functionality

Acceptance Criteria:

- Ability to step both forward and backward in the UPLC execution

- Accurate display of past and present states

- Seamless integration with the existing command-line tool

Evidence of Completion:

- Updated version on GitHub with time-travel feature

- Updated documentation and user guide

- Video demo showcasing forward and backward stepping capabilities

>Creation of a Standalone Application/Web App for Visual Debugging

Outputs:

  • A standalone application or web interface for the UPLC debugger
  • Custom visualizations for well known Aiken types
  • Associate UPLC nodes with Aiken code

Acceptance Criteria:

  • Visual representation of the debugging process
  • User-friendly interface with controls for advancing/stepping backward
  • Compatibility with major browsers and/or operating systems
  • Ability to see which Aiken code generated a given UPLC node, if any

Evidence of Completion:

  • Launch of the application/web app, accessible to users
  • Open sourcing of the code
  • Video walkthrough of the app, highlighting key features and controls

>Outputs:

  • Fully operational product deployed in the target market.
  • Final report and video walk-through of product use.

Acceptance Criteria:

  • Product is fully functional, accessible to the target market, and free of critical bugs.

Evidence of Completion:

  • Confirmation of the product's availability and accessibility in the target market.

  • Final report and video walk-through are accessible via public links.

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

  • Lead Developer: Blockchain and debugger development

  • Front-End Developer: Web app interface design

  • QA Specialist: Testing and debugging

  • Community Manager: Engagement and feedback coordination

    [BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources.

Market Rate:

  • Development: $30,000
  • Interface Design and Front-End Development: $15,000
  • Project Management: $10,000
  • Community Engagement and Documentation: $7,000
  • Total: $62,000

Discounted Catalyst Ask

  • Development: $20,000
  • Interface Design and Front-End Development: $15,000
  • Project Management: $5,000
  • Documentation and Reporting: $2,000
  • Total: $42,000

Using a conservative $0.30 per ADA, this is 140,000 ADA.

[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?

The budget aligns with industry standards for specialized software development. This tool will greatly enhance the efficiency of smart contract development on Cardano, representing a valuable investment for the ecosystem. This improved developer experience will attract developers, result in faster iteration times for existing developers, reduce costs for companies building on Cardano.

Community Reviews (1)

Comments

Monthly Reports

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