Senior developers reaching Cardano from other industries miss simple convenient tooling to build on Cardano
This is the total amount allocated to Create a template for Test Driven Development in Helios.
provide a code repository that demonstrates test-driven approach to dApp development in Helios.
Helios
The project is licensed under MIT license:
https://github.com/aleeusgr/potential-robot/blob/aderall/LICENSE
1) Problem description
Currently if a developer wishes to build on Cardano they can not do this unless they have a firm grasp of eUTXO model. However to understand the model experimentation is needed. Current solutions are not aimed at providing simple means for experimentation, but provide complex tools for measuring and optimizing smart contracts.
2) Current solutions
Currently the most accessible tool is plutus-simple-model by Mlabs, and there are quite a few others that exist. The problem with existing solutions is that they are aimed at internal use by the consulting companies and make development unnecessarily complex for those who explore Cardano on their free time.
Currently the tooling that exists is exclusively in Haskell (like plutus-simple-model, plutip, Tweag tooling and others). However even in the ecosystem the majority of developers know JS/TS, while much fewer know Haskell.
3) Proosed solution and benefits
We will develop potential-robot, a program that demonstrates how EmulatorTrace works in Helios. An Emulator Trace is a sequence of actions that follows the logic of how a smart contract works and executes transactions to demonstrate that the component works as intended.
The primary audience is a Web developer who seeks to build a Proof of Concept component for their product. The user would use the repository by running it and following along Plutus Pioneer documentation to build a mental model of eUTXO. Then they would modify the validator logic, add and modify the transactions in the trace to arrive to the component they have in mind.
Using Helios will reduce the complexity of the system that the programmer needs to study to understand, and it cuts significantly on the build times when comparing to existing solutions.
We approach the problem in this way because the State of the Developer Ecosystem survey states that SDKs and developer tools are the two most wanted improvements by the developers in the ecosystem.
Therefore a solution in TypeScript will be helpful to the most developers, especially new developers who explore Cardano for building their projects.
4) Stakeholders
The proposal is aimed at experienced Web developers from outside blockchain space who explore Cardano's potential for building solutions in their industries.
5) Impact and KPI
The impact and KPI measures are the standard GitHub measures: number of stars, number of forks, mentions of the program in StackExchange and in Discord forums.
The tooling we provide reduces programmer time overhead needed to successfully test a dApp prototype, proof of concept or a smart contract.
The success of the project will facilitate creation of new concepts and products on Cardano.
One measure of impact is the number of potential users of the tool. Providing a solution in TypeScript we address the biggest programmer community that exists without compromising the security.
Second measure of impact is savings in developer time. This tool gives almost nothing to someone who works at MLabs or IOG, but it will save two to four weeks to a Senior Developer who does not know Haskell, and from six to twelve weeks to a developer who is the target audience of the Plutus Pioneer Program.
Third measure of impact is complexity. To compare, plutus-starter uses three languages: Haskell/Plutus, nix and shell. This project uses one.
The fourth measure of impact is reduction of build times from 45-90 mins for plutus-starter, plutip or plutus-simple-model to under a minute for potential-robot.
The proposal was discussed extensively with experts from MLabs, IOG and several Senior developers in the ecosystem.
The development of the project takes place in collaboration with the experts Developer Experience working group and Certification working group.
A prototype exists that needs development.
Alex Seregin is an open source enthusiast with over 15 years of experience leading impact projects.
The milestone covers:
To verify that the milestone was complete a requirements document is provided.
The second milestone covers
The milestone output is the GitHub repository which is linked to this proposal.
To verify that milestone is complete the tests in GitHub CI must pass and the tests must correspond to the requirements document.
There should be tests covering the initial state of the blockchain emulator, tests that show that the transactions had had the projected effect on the emulated environment.
The final milestone covers
To validate the milestone code audit report from the Certification WG must be provided.
Aleksei Seregin is an engineer and a developer on Cardano.
https://www.linkedin.com/in/alex-seregin/
1 x developer (24 weeks):
The proposed project's cost represents value for money for the Cardano ecosystem by addressing critical security and usability concerns related to dApp development.
By investing in the development of a this project Cardano can provide good balance between accessibility and security to the developers.
Consider that we are making secure dApp development accessible to the users of JavaScripe, one of the largest dev communities that exists:
This fosters developer trust and confidence in Cardano.
Additionally, this improves Developer Experience on Cardano.
In essence, the project's cost translates into enhanced security, usability, and overall ecosystem stability, making it a sound investment for Cardano.