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!
This is the total amount allocated to Plutus V3 for OpShin.
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
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!
No dependencies
All results from the development of OpShin are published publicly accessible on Github via https://github.com/opshin. We have a track record of making all developments public and have open-sourced opshin itself, our implementation of the UPLC machine, our website, etc!
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.
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:
Measuring Impact
The impact of our project will be measured both quantitatively and qualitatively:
Sharing Outputs and Opportunities
To maximize the project's impact on the Cardano community, we will:
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.
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.
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: 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.
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.
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.
Personnel Costs
Software and Tools
Infrastructure and Utilities
Documentation and Reporting
Contingency
Total Estimated Cost