funded
Plutus and Haskell Extension Integrated within Visual Studio Code IDE
Current Project Status
In Progress
Amount
Received
₳33,600
Amount
Requested
₳197,700
Percentage
Received
17.00%
Solution

Develop and integrate Cardano( Plutus and Haskell) Development support tools, plug-in, and extensions into Visual Studio Code for efficient and streamline development.

Problem

Developers using Visual Studio Code IDE don’t have access to required tools, plug-in and extension for Plutus and Haskell Programming, it hinders developer’s efficiency and adoption. .

Visual Studio Code IDE Integrated with Cardano Development Support

Impact Alignment
Feasibility
Value for Money

Team

2 members

Plutus and Haskell Extension Integrated within Visual Studio Code IDE

Please describe your proposed solution

Overview

The proposed project aims to enhance the development experience for Cardano blockchain developers by integrating Cardano-specific tools, libraries, and features directly into the Visual Studio Code (VS Code) Integrated Development Environment (IDE).

By seamlessly integrating Cardano development support into one of the most popular IDEs among developers, this project seeks to streamline the development process, improve productivity, and foster innovation within the Cardano ecosystem.

The Challenge

Any developer when they write code, they use one or another tool known as Integrated Development Environment or IDE. There are many IDE's available for developers and each IDE provide support for one or more programming languages. The Microsoft created IDE "Visual Studio Code" is most used IDE by developers community overall in the world.

Some links here showing popular IDE's.

https://medium.com/@gianlucaita/9-most-used-ides-ee4fc8628fd5

https://www.geeksforgeeks.org/top-10-ides-for-programmers/

https://www.gartner.com/reviews/market/integrated-development-environment-ide-software

The Visual Studio Code, has already support for Solidity/ETHEREUM and some other blockchain however there is not support for Cardano Blockchain.

https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity

Cardano developers currently face several challenges when it comes to setting up development environments, managing dependencies, and debugging smart contracts while using their favorite IDE Visual Studio Code.

  1. Fragmented Development Tools: Existing development tools for Cardano, such as Plutus Playground and Marlowe Playground, are standalone platforms that lack integration with popular IDEs, leading to a fragmented development experience.
  2. Dependency Management: Managing dependencies and integrating third-party libraries and tools into Cardano projects can be cumbersome and time-consuming for developers.
  3. Limited Debugging Capabilities: Debugging smart contracts and troubleshooting code errors is challenging due to the lack of robust debugging tools and IDE integrations for Cardano development.

The Solution

The proposed solution involves integrating Cardano development support directly into the Visual Studio Code IDE, offering the following benefits:

  1. Unified Development Environment: Provide a unified development environment within VS Code that includes all necessary tools, libraries, and features for Cardano development, eliminating the need for developers to switch between multiple platforms.
  2. Dependency Management Tools: Offer built-in tools and extensions for managing dependencies, importing third-party libraries, and configuring project settings seamlessly within VS Code.
  3. Smart Contract Debugging: Enable advanced debugging capabilities within VS Code for smart contracts written in Plutus and other Cardano-specific languages, allowing developers to identify and fix code errors more efficiently.
  4. Code Templates and Snippets: Provide code templates, snippets, and auto-completion features tailored to Cardano development, accelerating the coding process and reducing the likelihood of syntax errors.
  5. Integration with Cardano CLI: Integrate Cardano Command Line Interface (CLI) functionalities directly into VS Code, enabling developers to interact with the Cardano blockchain, deploy smart contracts, and test transactions without leaving the IDE.

Key Features

  1. Syntax Highlighting and Code Completion: Implement syntax highlighting and intelligent code completion for Plutus smart contract language and Haskell code, providing developers with context-aware suggestions and improving code readability.
  2. Smart Contract Deployment: Enable developers to deploy smart contracts directly from the IDEs to the Cardano blockchain with just a few clicks, streamlining the deployment process and reducing manual intervention.
  3. Blockchain Explorer Integration: Integrate Cardano blockchain explorer APIs into the IDEs, allowing developers to explore and inspect transactions, addresses, blocks, and smart contracts directly from the development environment.
  4. Debugging Tools: Develop interactive debugging tools that enable developers to debug smart contracts deployed on the Cardano blockchain directly from the IDEs, providing insights into contract state, execution flow, and transaction history for easier troubleshooting.
  5. Wallet Management: Provide features for wallet creation, management, and interaction within the IDEs, allowing developers to easily test and interact with wallets and addresses for their Cardano projects.
  6. Documentation and Examples: Include comprehensive documentation, tutorials, and examples within the plugin, helping developers get started with Cardano blockchain development and understand best practices.

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

IMPACT:

We frequently address the scarcity of developers within the Cardano ecosystem and the considerable hurdles they face when beginning to code. For us, bridging this gap represents the primary and essential step in equipping developers with the necessary tools. Visual Studio Code stands as the world's leading IDE, supported by a plethora of data. It's regrettable that Cardano's support is not yet integrated into it, especially considering competitors like Ethereum already occupy that space.

Enabling Cardano Development Stack within Visual Studio Code would promptly expose Cardano to over 40% of developers worldwide, potentially yielding significant benefits for the entire Cardano ecosystem.

DETAILS:

  1. Increased Developer Adoption: By providing seamless integration with widely used IDEs, the plugin would lower the barrier to entry for developers interested in building on the Cardano blockchain. This accessibility would attract more developers to the ecosystem, leading to a larger and more diverse developer community.
  2. Improved Developer Productivity: Developers familiar with Visual Studio Code would benefit from a familiar development environment for Cardano blockchain development. The plugin's features, such as syntax highlighting, code completion, and debugging tools, would enhance productivity by streamlining the development process and reducing the need to switch between different tools and platforms.
  3. Faster Time-to-Market for dApps: With a more efficient development workflow facilitated by the plugin, developers would be able to build and deploy decentralized applications (dApps) on the Cardano blockchain more quickly. This accelerated development process would enable faster innovation and iteration, leading to a broader range of dApps being developed and deployed on Cardano.
  4. Quality and Security of dApps: The plugin's integration with IDEs would enable developers to leverage built-in tools for code analysis, testing, and debugging, resulting in higher-quality and more secure smart contracts and dApps. This focus on quality and security would enhance trust in the Cardano ecosystem and contribute to its reputation as a reliable platform for decentralized finance (DeFi) and other applications.
  5. Education and Knowledge Sharing: The plugin would serve as a valuable educational resource for developers interested in learning about blockchain development on Cardano. By providing documentation and examples within the IDEs, the plugin would facilitate knowledge sharing and skill development within the developer community.

Overall, implementing a plugin for Cardano and integrating it with Visual Studio Code would have a transformative impact on the Cardano ecosystem, driving increased developer adoption, productivity, and innovation while fostering collaboration and education within the community.

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?

We are passionate about technology, and we have been leveraging various Technologies for more than 2 decades. Since we got introduced to Cardano by a Cardano community Evangelist 3 years ago, we have learned Cardano tech stack as well delivered multiple projects on Cardano blockchain including couple of Catalyst Projects.

Our strengths

1. Strong Technical team

2. Open-source Development and Strong Developer Community for Feedback

3. Deep Involvement in Cardano Tech and already delivered projects successfully.

Team Expertise and Experience:

1. The Team: We do strongly believe our team is uniquely positioned to deliver this project as we have strong technical team (most members 15-20 years of experience) combined with Web2.0 expertise and Cardano Technology 3+ years’ experience.

2. Open-source and Cardano: We have experience on open-source development, and we are deeply involved in Cardano Community having already delivered two Catalyst projects in Fund 8 and Fund 9 and currently working on three projects from Fund 11.

3. Trust: We as a team have already established high level trust and accountability being regular contributor to the ecosystem.

Validating the Approach:

  • Feasibility: We are ourselves Developers and we experience the challenge first hand
  • Feedback: While we approached community in various forums for solution, no ready solution found, rather members agreed they facing same challenge as their is no support of Cardano tech on Visual Studio Code .
  • Competition: The Visual Studio Code, has already support for Solidity/ETHEREUM and some other blockchain however there is not support for Cardano Blockchain.

We strongly believe this project is very much required for the Cardano Developers community to being efficiencies and attract more developers as this is one of the top IDE used by more than 40% programmers in the world.

Udai Solanki (<https://www.linkedin.com/in/solanki>/) is Chief Technology Officer at www.eRevMax.com with 20+ years’ experience as technology leader in Hospitality industry. He has 3+ years of experience in Cardano tech stack including Plutus and Haskell programming. He is actively involved in various Community activities and forums.

Udai Solanki is part of a Project Catalyst and Rare Evo Project and working closely with them. He is leading an Online Working group initiative.

<https://lu.ma/n2ehz29d>

Project: Funded-Project Incubation &amp; Acceleration Working Group (Online) #2

Udai Solanki founded Cardano India Developers Community https://www.cardanoindia.com/ and he continue working on building the community in India. One of the Open-Source project he is working from Fund 11 is about building tools/sdk for Java Developers <https://github.com/CardanoJ/cardanoJ/>.

eRevMax, is a hospitality technology company with more than 20+ years of history in managing hotels distribution and connectivity with different type of industry partners. for more details visit at www.erevmax.com and www.ratetiger.com (a product of eRevMax)

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

Milestone 1: Duration: 2 Months

Planning, Design and Documentation

Deliverables/Output:

Scope and Requirements Document: A detailed document defining the scope of the project, including features, functionality, and technical requirements. This document serves as a blueprint for the development process and ensures alignment with stakeholders' expectations.

Acceptance criteria: The documentation published on Github, accessible to the public.

  • UI/UX design documents and mockups
  • Architecture diagram and technical specification document
  • GitHub repository set up with initial project structure

Evidence of Milestone Completion:

  • GitHub link showing the documentation.

Milestone 2: Duration: 2 Months

Development Part 1

Deliverables/Output:

Development for following features

  1. Syntax Highlighting and Code Completion
  2. Cardano Blockchain Explorer API Integration

Acceptance criteria: The Code for functionalities and documentation published on Github, accessible to the public.

Evidence of Milestone Completion:

  • GitHub commits showing the development progress and integration of these features.
  • Screenshots and video demonstrations of the Runtime functionalities.

Milestone 3: Duration: 2 Months

Development Part 2

Deliverables/Output:

Development for following features

  1. Smart Contract Deployment
  2. Wallet Management

Acceptance criteria: The Code for functionalities and documentation published on Github, accessible to the public.

Evidence of Milestone Completion:

  • GitHub commits showing the development progress and integration of these features.
  • Screenshots and video demonstrations of the Runtime functionalities.

Milestone 4: Duration: 2 Months

Development Part 3

Deliverables/Output:

Development for following features

  1. Debugging Tools
  2. Documentation and Examples

Acceptance criteria: The Code for functionalities and documentation published on Github, accessible to the public.

Evidence of Milestone Completion:

  • GitHub commits showing the development progress and integration of these features.
  • Screenshots and video demonstrations of the Runtime functionalities.

Final Milestone: Final Closeout Reports

Deliverables/Output:

  1. Project Closeout Report
  2. Project Closeout Video
  3. Fully functional Plutus and Haskell Support integrated within the Visual Studio Code Extension, offering coding support and documentation access.
  4. Public release on the Visual Studio Code Extension Marketplace.
  5. Publication of detailed documentation and usage tutorials of Visual Studio Code extension and its features.

Acceptance criteria:

  1. The Project Closeout Report (PCR) and Project Closeout Video (PCV) are published on Github and Youtube, accessible to the public.
  2. Published documentation and tutorials accessible through the extension or a linked resource.
  3. Public link of released extension on Visual Source Code marketplace.

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

We have a very strong team of senior developers and experienced software architects.

Below are our key team members who shall be engaged in this project.

Udai Solanki , CTO at www.erevmax.com

Role in Project : Blockchain/Solution Architect and Project Manager

Profile: <https://www.linkedin.com/in/solanki>

Technical Architect, Java Programmer, Plutus and Haskell Programmer

22+ years Technology and programming experience

3+ years Cardano Tech Stack experience

Rupanjali Bask

Role in Project : Tech Writer

Profile: <https://www.linkedin.com/in/rupanjali-basak/>

Product Owner having 14 years in product management and 7 years in IT Support,

Most of Experience in Hospitality and Travel Tech Industry

Narendra Das

Role: Blockchain Developer

Profile: https://www.linkedin.com/in/naren4das/

Technical Architect , Java Programmer, Plutus and Haskell Programmer

21+ years programming experience

3+ years Cardano Tech Stack experience

Mahendra Sharma

Role in Project: Software Architect, Technical Design and Developer

Profile: https://www.linkedin.com/in/mahendra-sharma-79a988b8/

Software Architect, Java Programmer and Delivery Manager

19+ years Programming and Technology experience

Deepak Kumar Singh

Role: Services Developer

Profile: <https://www.linkedin.com/in/deepak-kumar-singh-3839231a/>

Technical Architect, Java Programmer

17+ years programming experience

Please provide a cost breakdown of the proposed work and resources

Milestone 1: Planning, Technical Design and documentation

Duration: 2 months

1 Solution Architect: 30 person days x $250 =$7,500

1 Developer: 30 person days x $150 = $4,500

1 Tech Writer: 40 person days x $125 = $5,000

Development Environment Infrastructure = $500

Project Manager (Tech): 20 person days x $200 = $4,000

Total: $21,500

Total ADA @ 0.45 = ADA 47,750

Milestone 2: Developer phase 1

Duration: 2 months

1 Solution Architect: 20 person days x $250 =$5,000

2 Developer: 60 person days x $150 = $9,000

1 Tech Writer: 20 person days x $125 = $2,500

Development Environment Infrastructure = $1,000

Project Manager: 20 person days x $200 = $4,000

Total: $21,500

Total ADA @ 0.45 = ADA 47,750

Milestone 3: Developer phase 2

Duration: 2 months

1 Solution Architect: 20 person days x $250 =$5,000

2 Developer: 60 person days x $150 = $9,000

1 Tech Writer: 20 person days x $125 = $2,500

Development Environment Infrastructure = $1,000

Project Manager: 20 person days x $200 = $4,000

Total: $21,500

Total ADA @ 0.45 = ADA 47,750

Milestone 4: Developer phase 3

Duration: 2 months

1 Solution Architect: 20 person days x $250 =$5,000

2 Developer: 60 person days x $150 = $9,000

1 Tech Writer: 20 person days x $125 = $2,500

Development Environment Infrastructure = $1,000

Project Manager: 20 person days x $200 = $4,000

Total: $21,500

Total ADA @ 0.45 = ADA 47,750

Milestone 5: Documentation and Final Report

Duration: 1 months

1 Tech Writer: 8 person days x $125 = $1,000

Project Manager: 10 person days x $200 = $2,000

Total: $3,000

Total ADA @ 0.45 = ADA 6,700

Total Budget = $89,000

Total Budget ADA : 197,700 ADA

No dependencies.

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

The cost of developing the Plutus and Haskell Extension Integrated within Visual Studio Code IDE is aligned with the typical costs associated with software development in the ecosystem, ensuring that the budget reflects the standard rates for skilled developers.

The Cost of the proposed project is less than 2% of the Category budget to develop a solution that many developers can benefit and it is an open source project. It is project for community to expand and involve more members.

We are adding all the key required features in the IDE. We are adding not just Syntax Highlighting and Code Completion and Debugging Tools, we are also adding other very helpful features as Smart Contract Deployment, Blockchain Explorer Integration and Wallet Management. We will also add comprehensive documentation, tutorials, and examples

For the proposed cost, this solution can save lot of development time for many community projects. Its usage is not one time, this can continue being used long time. Even few hundred of developers use it, it brings justification to cost. Visual Studio Code is number One IDE for programmer community and this integration has huge potential to attract these Developers pool and extend benefit to save time.

It brings indirect value by increasing Cardano blockchain adoption. As more developers are attracted to ecosystem and the development is happening faster, that is immense value in terms of adoption to the Cardano Ecosystem.

This initiative delivers exceptional value for the Cardano ecosystem by offering the potential to greatly enhance the efficiency and effectiveness of Plutus and Haskell smart contract development. Through the provision of robust debugging and support tools, it empowers developers to:

Save time and costs: By allowing direct debugging and visualization of Plutus code within their development environment, developers can swiftly identify and resolve issues, thus reducing the overall time and expense associated with smart contract development.

Enhance code quality: The inclusion of debugging and visualization features aids developers in crafting more resilient and optimized smart contracts. Insights into bytecode execution facilitate the identification of performance bottlenecks and optimization opportunities, thereby elevating the quality of code produced.

Lower the entry barrier: Offering a seamless and integrated development experience, this initiative facilitates the onboarding of new developers into Plutus smart contract development. This accessibility may attract a broader pool of talent to contribute to the Cardano ecosystem.

Encourage collaboration and knowledge sharing: Integration with Visual Studio Code enables developers to collaborate efficiently through shared debugging sessions and visualizations. This fosters a culture of collaboration and the exchange of best practices within the community.

One way to understand value for money of this is, not having this implementation in popular IDE’s could be a key reason we have less Developers in our Cardano Ecosystem. In some estimate, competing Blockchain Ethereum have 10 times more developers than Cardano and they have implemented this IDE integration much earlier.

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