[GENERAL] Name and surname of main applicant
Tolga Yaycı
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Individual
[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] Summarize your solution to the problem (200-character limit including spaces)
Creating a Marlowe VSCode Extension Suite that integrates all Marlowe development tools into a user-friendly interface, simplifying smart contract development on Cardano directly within VSCode.
[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.”
No dependencies.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] Please provide here more information on the open source status of your project outputs
The project will be fully open-source, available on GitHub under the MIT license, free to use, and open to contributions from developers following the contribution guideline.
[SOLUTION] Please describe your proposed solution
I'm addressing the separation of tools in Marlowe smart contract development by integrating all necessary tools into a single VSCode environment. This solution simplifies the workflow for developers, allowing them to efficiently create, test, and manage contracts without switching between different command-line applications.
Working with Marlowe involves interacting with a multiple tools like marlowe-cli, marlowe-runtime-cli, and runtime services like chain-indexer, chain-sync etc. which disrupts workflow and complicates the smart contract development process. This is particularly challenging for newcomers and reduces productivity for experienced developers.
Marlowe VSCode Extension, designed to address the complexities of developing and managing Marlowe smart contracts on Cardano. There is a steep learning curve associated with CLI tools can deter developers, particularly those new to the ecosystem. By integrating essential Marlowe tools—such as the Marlowe CLI, Marlowe Runtime CLI, Marlove services and a variety of development supporting tools—into a familiar, widely-used IDE like VSCode, I aim to make smart contract development on Cardano more accessible and less intimidating. Thus, improving the workflow for developers, allowing them to efficiently create, test, and manage contracts directly where you develop without switching between command-line applications.
The solution involves building an integrated environment in VSCode through extension which consists of,
- The Marlowe panel providing graphical interface for marlowe-cli, covering all its associated features. This GUI is designed to offer a user-friendly, intuitive interaction layer.
- The Marlowe Runtime panel offers a graphical interface for the marlowe-runtime-cli, redefining the ease and efficiency with which developers can manage and interact with Marlowe contracts on the Cardano.
- The Marlowe Services panel provides GUI for managing all related backend services:
- Marlowe chain indexer service
- Marlowe chain sync service
- Marlowe contract service
- Marlowe indexer service
- Marlowe proxy service
- Marlowe sync service
- Marlowe transaction service
- The Marlowe GPT is an GPT agent, designed to guide developers through the contract development by offering coding support and documentation access.
- The Quick Start offers a interface for developers to quickly initiate new Marlowe projects, providing templates and examples to simplify the project setup process.
- The Project Management panel facilitates the creation and management of Marlowe smart contract projects.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
This integrated environment is unique as it consolidates all Marlowe development tools through one extension into a familiar and widely used platform - VSCode. It will benefit both novice and experienced developers by making smart contract development more accessible and efficient, thereby increasing innovation and adoption.
Success of this tool will be tracked through user engagement metrics like download counts and active users, and gather direct feedback from the community to iterate and improve the tool further. Codebase will be shared openly on GitHub for transparency and community contributions, and engage with the community through dev forum and Discord.
Below are some of the impacts:
- Integrates all Marlowe tools into a single VSCode environment, reducing the need to switch between multiple tools and context, thus significantly easing the development workflow.
- Lowers the entry barrier for new developers by providing a user-friendly interface and reducing the complexities associated with CLI tools
- Allows developers to create, test, and manage contracts more efficiently by providing a GUI panel with simple buttons.
- Simplifies development and makes advanced tools accessible, attracting a broader audience and reducing the complexity of smart contract development on Cardano.
- The inclusion of the Marlowe GPT and templates/examples in the Quick Start panel provides quicker onboarding of new developers.
[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?
I have a proven track record of successfully completing projects while maintaining high levels of trust and accountability. I have extensive experience in developing Vs Code extensions, with a strong understanding of Cardano ecosystem. Previously developed Stylus Extension Suite for Arbitrum, demonstrating my ability to deliver high-quality, user-friendly extensions.
I have experience working with well-known protocols such as Arbitrum, Flow, Filecoin etc. showcasing my ability to handle multiple ecosystems and expertise. I have developed more than 10 projects for 7+ protocols which are well received by the communities and developers. All of these projects are open-source and available on GitHub.
You can also contact with grant teams from other protocols to get feedbacks about my work:
- @jewandidi - Arbitrum Questbook Dev Tooling Domain Allocator (Telegram)
- kyle.peacock@dfinity.org - Dfinity Foundation (Email)
- @Oxmigi - Aave (Telegram)
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Project Management and Marlowe CLI Features Integration
Milestone Outputs
- Fully operational Project Management panel within the VSCode Extension.
- Integrated Marlowe GUI panel that covers marlowe-cli functionalities within the VSCode Extension.
Acceptance Criteria
- Successful implementation of the project management panel that supports the full lifecycle of a Marlowe project.
- Functional Marlowe CLI functionalities supported within VSCode that can execute all commands without leaving the editor.
Evidence of Milestone Completion
- GitHub commits showing the development progress and integration of these features.
- Screenshots and video demonstrations of both panels working within the VSCode environment.
Marlowe Runtime CLI and Marlowe Services Integration
Milestone Outputs
- Integrated Marlowe Runtime GUI panel that covers marlowe-runtime-cli functionalities within the VSCode Extension.
- GUI implementations of Marlowe Runtime backend services in VS Code that interfaces with the following Marlowe Runtime services,
- Marlowe Chain Indexer Service (marlowe-chain-indexer) - Chain indexer
- Marlowe Chain Sync Service (marlowe-chain-sync) - Chain query and sync server
- Marlowe Contract Service (marlowe-contract) - Contract storage service
- Marlowe Indexer Service (marlowe-indexer) - Contract indexing service
- Marlowe Proxy Service (marlowe-proxy) - The API gateway server
- Marlowe Sync Service (marlowe-sync) - Contract synchronization and query service
- Marlowe Transaction Service (marlowe-tx) - Transaction creation server
Acceptance Criteria
- Marlowe Runtime panel can manage and interact with contracts using Marlowe Runtime CLI features.
- Marlowe Services panel successfully integrates backend services with complete functionality.
Evidence of Milestone Completion
- GitHub commits showing the development progress and integration of these features.
- Screenshots and video demonstrations of the Runtime and Services panels’ functionalities.
Implementation of Marlowe GPT, Testing, and Release
Milestone Outputs
- Fully functional Marlowe GPT integrated within the VSCode Extension, offering coding support and documentation access.
- The project is finalized and ready for public release on the VSCode Extension Marketplace.
- Publication of detailed documentation and usage tutorials of VSCode extension and its features.
Acceptance Criteria
- Marlowe GPT must assist must provide relevant Marlowe smart contract development queries and needs to provide code snippets.
- Extension suite passes all unit/integration tests, documented thoroughly, and listed in VS Code marketplace.
Evidence of Milestone Completion
- Video of the Marlowe GPT in action, showing it providing assistance.
- Published documentation and tutorials accessible through the extension or a linked resource.
- Public link of released extension on VS Code marketplace.
Project Close-out Report and Video
Milestone Outputs
- Comprehensive close-out report detailing the development process, and overall project outcomes.
- Production of a final video showcasing the fully functional VSCode extension, demonstrating its features and benefits for Marlowe smart contract development.
Acceptance Criteria
- The close-out report will thoroughly document the project’s execution.
- The video will effectively demonstrate the use of the VSCode extension, highlighting its integration points and ease of use.
Evidence of Milestone Completion
- A completed close-out report available for review by the broader community.
- A publicly accessible video published to showcase in community forum and channels.
[RESOURCES] Who is in the project team and what are their roles?
Tolga Yaycı - Software Engineer
I have completed my bachelor's degree in computer engineering. As a full-stack developer with 3 years of experience, developed more than 10 projects for 7+ protocols including Solana, Arbitrum, Aave, and W3F etc.
Some of my projects that I have developed,
My profiles:
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
Developer Compensation: Compensation for the my time spent on designing, developing, testing, and launching the VSCode extension.
- Amount: 120,000 ADA
- Details: This covers full-time development work at a rate of 20,000 ADA per month for 6 months.
Maintenance and Support: Ongoing maintenance and user support for the extension for 12 months following the development period.
- Amount: 30,000 ADA
- Details: This will cover activities such as updating the extension to keep it compatible with new versions of VSCode or Marlowe, fixing any bugs that arise, and providing user support via forums and direct communications.
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The cost of the Marlowe VSCode Extension Suite project is aligned with the typical costs associated with software development in the ecosystem, ensuring that the budget reflects the standard rates for skilled developers. I have worked at similar rates for some protocols. The budget also accounts for ongoing maintenance to ensure the tools remain robust and effective, providing long-term value without additional costs.
This project offers accessibility and efficiency of smart contract development to the Cardano ecosystem, thereby attracting more developers. It will also encourage more developers to engage with the Cardano, lowers entry barriers for newcomers, and improves the usage of development tools. The suite will reduce development time and efforts for users, providing a strong return on investment through developer community growth, which justifies the project's cost as excellent value for money.