funded
Plutus V3 for OpShin
Current Project Status
In Progress
Amount
Received
₳0
Amount
Requested
₳100,000
Percentage
Received
0.00%
Solution

The developers and community will work together to add the new features of PlutusV3 and adapt the language to improve performance and speed of Smart Contracts on Cardano!

Problem

OpShin is a Smart Contract language on Cardano that is based on the popular language Python. It currently supports PlutusV2 - we want to adapt to PlutusV3 and need your support!

Impact Alignment
Feasibility
Value for money

Team

1 member

Plutus V3 for OpShin

Please describe your proposed solution

Perceived Problem:

With the ever-evolving landscape of blockchain technology, there is a continuous demand for enhanced performance, security, and scalability. The recent release of PlutusV3 offers improvements over its predecessor, which presents both an opportunity and a challenge. As existing tools and languages, including our Python-based smart contract language, need to adapt to these new capabilities, our goal is to update our compiler to support PlutusV3, enabling developers to leverage its enhanced performance for creating more efficient and robust smart contracts.

Approach:

Our approach is to build upon our existing Python-based smart contract language, effectively bridging the gap between the user-friendly Python ecosystem and the advanced features of PlutusV3. By updating our compiler to target the new feature set, we harness the power of Python's simplicity and readability, coupled with the sophisticated enhancements of PlutusV3. This ensures that developers can smoothly transition to utilizing the latest upgrade without having to invest in learning an entirely new language or set of tools.

Demonstrating Impact:

To demonstrate our impact, we will track key performance indicators such as the number of smart contracts written using our language, the performance improvements achieved on executed contracts, and community growth metrics. User testimonials and case studies showcasing successful implementations and reduced barriers to entry for new developers will further illustrate the tangible benefits of our solution. Additionally, our integration within the Cardano ecosystem will be enhanced through partnerships, endorsements, and contributions to community-led initiatives.

Unique Solution & Impact on Cardano:

Our solution is unique in that it bridges the highly accessible Python language with the advanced, high-performance capabilities of PlutusV3. This not only lowers the entry barrier for a vast pool of Python developers but also enhances the Cardano ecosystem by expanding the toolkit available for smart contract development. By facilitating easier access to cutting-edge blockchain technology, we support Cardano's mission of promoting decentralized application development and fostering innovation. Ultimately, this is important for Cardano as it stimulates ecosystem growth, attracts diverse talent, and accelerates the adoption of more efficient, secure, and scalable blockchain solutions.

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

The development and implementation of new features in our Python-based smart contract language targeting the PlutusV3 assembly language will bring several significant benefits to the Cardano community:

  1. Enhanced Performance and Efficiency: By leveraging the improved capabilities of PlutusV3, smart contracts developed using our language will execute with greater efficiency, reducing transaction costs and processing time
  2. Increased Developer Adoption: The lack of PlutusV3 support might keep python-enthusiastic developers from writing smart contracts on Cardano.
  3. Innovation in dApp Development: With more developers building on Cardano due to improved accessibility, we anticipate a surge in innovative dApp developmen

Measuring Impact

The impact of our project will be measured both quantitatively and qualitatively:

  • Number of Developers: Track the growth in the number of developers using our smart contract language over time.
  • dApp Deployments: Measure the increase in dApp deployments on the Cardano blockchain using our language.
  • Performance Improvements: Benchmark and report the performance improvements observed in smart contracts when migrating from PlutusV2 to PlutusV3.
  • Qualitative Metrics:
  • Developer Feedback: Collect and analyze feedback from developers to gauge satisfaction and gather insights for further improvements.
  • Community Engagement: Monitor discussions and engagement within the community on forums, social media, and events to evaluate the reception and enthusiasm for the project.

Sharing Outputs and Opportunities

To maximize the project's impact on the Cardano community, we will:

  • Open Source Repository: Release all code and documentation as open-source to facilitate collaboration, transparency, and adoption by developers worldwide.
  • Comprehensive Documentation and Tutorials: Provide extensive documentation, tutorials, and example projects to educate and support developers transitioning to our language and PlutusV3.

By aligning our objectives with the needs and aspirations of the Cardano community, we aim to contribute substantially to its growth and the ongoing evolution of its dApp ecosystem.

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?

The main proposer, Niels, has already bootstrapped the main part of the project. In its current form the tool is able to be used and already being used. The proposer is completely doxed and well-known in the Community.

He also has a strong network of competent and experienced developers interested and capable in supporting the project.

The main goal of this proposal is to improve usability and developer experience with respect to Smart Contracts on Cardano. With the given funds, the continued development of the toolchain is secured as developers can be hired to tackle basic issues in the toolchain whereas the main proposer is able to allocate more time of the day towards developing OpShin himself.

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

Milestone 1: Milestone 1: Implementing main PlutusV3 features

Plutus V3 brings new functions to the UPLC machine.

Our outputs are the implementation of these and appropriate test cases.

The criterium for acceptance is that corresponding pull requests are posted on the OpShin and UPLC repository and pass the continuous integration.

The evidence will be the publicly accessible Pull Request on GitHub.

Milestone 2: Milestone 2: Implementing new Script Context

Plutus V3 brings changes to the Smart Contract API in interaction with the blockchain (changed ScriptContext etc).

Our outputs are the implementation of these and appropriate test cases, ensuring that they match the blockchain specification.

The criterium for acceptance is that corresponding pull requests are posted on the OpShin and UPLC repository and pass the continuous integration.

The evidence will be the publicly accessible Pull Request on GitHub.

Final Milestone: Milestone 3: Extensive testing and deployment of PlutusV3

After the implementation of the new features, we need to merge the changes into the mainstream OpShin implementation, test the new features end-to-end on the blockchain and publish a new version of OpShin. Potentially, downstream tools such as Plutus-Bench need to be adapted as well.

The outputs are a new OpShin version, test contracts executed on the testnet blockchain and potentially updates to the downstream tooling of OpShin.

The criteria are 1) new version of OpShin published that features PlutusV3 2) transaction on Cardano that executes OpShin PlutusV3 contract 3) if needed, updates to downstream tooling via Pull Request on Github.

The evidence will be the publicly accessible Pull Request, OpShin version and Transaction hash.

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

Niels Mündler aka nielstron is well-known in the Cardano Community. He has co-founded the MuesliSwap DEX and gave birth to the programming language OpShin. His background is computer science at ETH Zurich, Switzerland.

In the OpShin team, he is taking over the role of Founder, CTO and CEO, running the whole thing as a one-man show.

He is supported by Julius Frost, Boston U graduate and working in the ML field, who created the opshin pioneer program and is a highly experienced Python developer. He is a frequent contributer and maintainer and helps assessing the quality of submitted issues and PRs.

Please provide a cost breakdown of the proposed work and resources

Personnel Costs

  1. Development Team:
  • Lead Developer

  • Role: Oversee the entire implementation process, write code, and manage pull requests.

  • Estimated Hours: 150 hours

  • Rate: $100/hour

  • Total Cost: $15,000

  • Supporting Developers

  • Role: Assist with coding, testing, and integrating new features.

  • Estimated Hours: 100 hours

  • Rate: $75/hour

  • Total Cost: $7,500

  1. Project Manager:
  • Role: Coordinate the project timeline, manage resources, and ensure milestones are met.
  • Estimated Hours: 50 hours
  • Rate: $80/hour
  • Total Cost: $4,000
  1. Quality Assurance (QA) Tester:
  • Role: Develop and execute test cases to ensure the reliability of the implementation.
  • Estimated Hours: 80 hours
  • Rate: $60/hour
  • Total Cost: $4,800

Software and Tools

  1. Continuous Integration/Continuous Deployment (CI/CD) Tools:
  • Service: Tools like GitHub Actions or Travis CI for automated testing.
  • Cost: $200/month for 3 months = $600
  1. Blockchain Development Environment:
  • Service/Tools: Access to testnet and any associated costs for blockchain nodes or API usage.
  • Cost: $500

Infrastructure and Utilities

  1. Cloud Hosting:
  • Service: Hosting for development and testing environments.
  • Cost: $300/month for 3 months = $900

Documentation and Reporting

  1. Technical Documentation:
  • Service: Comprehensive user and developer guides for new features.
  • Cost: $1,500
  1. Reporting:
  • Service: Preparation of reports on progress and final outcomes for the community and funders.
  • Cost: $1,000

Contingency

  1. Contingency Fund:
  • Purpose: Cover unexpected costs or overruns.
  • Amount: $2,200

Total Estimated Cost

  • Total Budget: $36,500

No dependencies

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

  1. Enhancing Developer Productivity and Efficiency: By enabling new and more performant features for Cardano smart contracts, PlutusV3 saves developers significant time and effort. This efficiency translates into faster development cycles, enabling more projects to be completed within shorter timeframes, thus accelerating innovation within the Cardano ecosystem.
  2. Improving Smart Contract Quality: High-quality, robust smart contracts are essential for the trust and reliability of the Cardano network. Plutus facilitates rigorous testing, which helps to reduce bugs and vulnerabilities, enhancing the overall quality of applications on the Cardano blockchain.
  3. Attracting New Developers: The user-friendly nature of OpShins Python framework and accessible documentation, makes it easier for new developers, including those from non-blockchain backgrounds, to enter the Cardano ecosystem. This expansion of the developer base can lead to more diverse and innovative applications.
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