not approved
potential-robot: an optimized developer experience
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳90,000
Percentage
Received
0.00%
Solution

We created an Open Source API that allows experimentation with transactions and validator logic in an emulated environment, is easy to understand and integrate into an existing programmer stack.

Problem

Building on Cardano is challenging. Getting from an idea to the first transaction has unnecessary overheads in terms of programmer time.

Feasibility
Value for money
Impact / Alignment

Team

1 member

potential-robot: an optimized developer experience

Please describe your proposed solution.

  • The problem:

Developing on Cardano is challenging. According to the State of The Ecosystem survey hosted by Cardano Foundation 60% of developers in the ecosystem know JavaScript, while only 25% know Haskell; the majority of developers in the community has one year experience or less.

Haskell and nix introduce steep learning curve which implies reduced probability of a newcomer to get positive feedback from interacting with the technology and therefore potentially leads to the ecosystem stagnation and decline of the value of ADA.

  • Our solution:

We were inspired by the idea of Truffle on Ethereum. The product is a developer environment ready to be integrated into the workflow the developer is used to. What makes it unique is that it is accessible, concise and points the user to questions that help develop intuitions about how the technology works.

  • Audience:

The project is aimed at Middle and Senior devs, someone who thinks to himself "I am suspicious. This crypto thing seems to have something in it but it has weird status. Cardano seems geeky and I like it. I wonder if I could build something on it"

  • Impact KPIs:

developer activity in Helios and Cardano - number of GitHub stars and forks, number of mentions in discord and forums, project references to the library.

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

The project aims to drive adoption of Cardano among crypto enthusiasts and professionals and JavaScript community.

It is the simplest way to run a transaction with Plutus. It does not require cardano-node running, nor Blockfrost access, not even a wallet. All is done in a code editor and the user can experiment with sending different Value between different agents and changing the validator to observe effects on the transactions and the state of the ledger as the transactions happen.

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

The long term measure of the API success is how popular it is among the developers.

The short term measure is the developer activity. Accessibility seems important, but difficult to measure exactly.

Project adoption and interest:

This project is being tested by 2 community members beside the author.

We would like to see 1000x forks after one year, this would mean developers begin new projects on Cardano and choose to build on top of our work.

Ease of use:

First tester reported that it took them about a day to get to a stepping stone in their project.

It took about two weeks to get similar functionality to work while we were building the tool.

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

We provide an open github repository, we suggest our tooling when a developer posts relevant request in the forums.

The tooling allows us to express statements about desired behavior of a dApp in the natural language and correspond with pieces of code that provide evidence that requested behavior does indeed occur.

We can use the tooling to:

  • develop dApp components or new smart contract examples beyond what is currently available in the Open Source.
  • run automated tests on a plutus script,
  • develop a formal description of a dApp, which could be translated in a language such as WhyML, Coq or such to be formally verified, which is desirable for certification and for the dApp to interop with discovery services.

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

All the milestones are complete, the project is being tested by developers in the ecosystem, at least one tester reported they could use the tooling to their needs.

I am a programmer and an Educational Facilitator at Gimbalabs.

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

The main goal is to improve developer experience on Cardano and provide a framework compliant with certification standards developed by IOG and CIP-72: dApp registration.

One could validate our work by using it to implement any of plutus-examples in Helios.

The project is implemented by creating a testing harness to match the vesting contract, which is the primary example in Helios documentation. A set of transactions that interact with the contract endpoints was created, tests and checks were added to make properties of the ledger explicit as transactions take place.

Helios unit tests were added to supplement documentation where it was unclear how things work.

Links to documentation were provided.

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.

DevX research: encountering the problem, initial sketching, formulating the core problem, expert interviews, (Dec 2022 - March 2023)

  • Milestone: analysis of haskell.nix integration issues, testing user stories and analysis of reasons for failure (Jan 2023)

SDLC Workshop: planning, analysis, design and implementation.

  • Milestone: testing user stories and analysis of reasons for failure (Feb - Apr)
  • Milestone: collaboration on building a good starter project (Apr - May)
  • Milestone: using the tooling for one of its intended purposes - creating a smart contract from an existing example. (May - June)

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

The project is finalized and can be used right away. In fact 14 hours before deadline one of testers reported that they could use this project to achieve a stepping stone in about a day.

The primary deliverable is the github repo, which contains code and documentation.

The outputs of the DevX research are PR's in the group: minutes, Issues, Discussion, and several repositories trying different approaches to fixing plutus-starter.

The outputs of each Milestone are repositories on github:

The intended outcomes by Milestone:

  1. Provide plutus-starter with tests for PlutusV2, i.e. integrating Vasil changes into plutus-starter.
  2. Accomplish a Gimbalabs PBL development task as a team with a senior engineer.
  3. Collaborate with a mentor on creating the solution.
  4. Testing the solution

The intended outcome of the project is that when developers research Cardano they find our project in the Cardano Developer Portal, begin their work and join active communication channels.

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

The main input of this project is programmer hours.

We give an estimate that this software took between 200 to 600 hours of deep focus to build.

Given the constraints we are put under by the Statement of Milestone requirements we consider the project to be on par with other projects in the challenge category.

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

Alex Seregin - programmer.

https://www.linkedin.com/in/alex-seregin/

My previous project was in Fund 8: Tarax DAO. Funding this project helps us advance development of Tarax - a Reddit-like platform with open governance.

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

Based on the description of the Statement of Milestones our project fits in to 3 milestone category, which constraints the ask between 75k and 150k ADA.

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