Please describe your proposed solution.
Our solution is called ‘PlutoK’ and centers on creating a Plutus Virtual Machine (PVM) in the Kotlin programming language. This involves a few critical steps:
- Translate Plutus Core into Kotlin – We will design and implement a PVM in Kotlin that can interpret and run smart contracts written in other languages. Aiken will be used as the reference implementation for building this in Kotlin.
- Integrate with the Cardano Ecosystem – We will ensure that the PVM can interact with Cardano nodes and the rest of the ecosystem. This will involve rigorous testing and working closely with the Cardano community to address any issues that arise, and verifying that outputs of PVM match Haskell and Aiken.
- Community Support and Growth: We aim to grow the Cardano community by actively engaging and onboarding Kotlin developers.
We believe implementing these steps will make the Cardano ecosystem more accessible to developers outside of the Haskell community, promoting broader adoption and innovation on the platform.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
The Business Value
At NEWM, we recognize that Cardano's smart contract development, while robust and secure, has primarily been limited to Haskell developers due to its use of the Plutus platform. For projects attempting to build mobile-first experiences that seamlessly integrate with Web 2.0 platforms, it can be a big challenge finding a developer from this limited pool.
We posit that, with the implementation of our proposed solution, countless projects will benefit from gaining access to devs in the Cardano ecosystem beyond the current niche developer base.
Increase of Knowledge, Reach and Capabilities
Kotlin was voted the fourth most loved programming language by StackOverflow in 2020, and is the primary language for Android development (with over 1M developers). By building the tools to bring these developers into the Cardano ecosystem, we believe we can significantly expand Cardano's knowledgebase, reach and capabilities.
Community Benefits
In the spirit of giving back to the community that continues to support us, we're committed to expanding the developer infrastructure and ecosystem on Cardano with this proposal. Our goal is to attract new developers, so every project looking to build has more options in different programming languages and can potentially cut costs. This, in turn, will drive innovation and foster a vibrant, diverse and inclusive community.
How do you intend to measure the success of your project?
Embarking on this project stems purely from our desire to contribute back to the Cardano community. We believe in democratizing access to Cardano's smart contract platform – i.e., Plutus – and creating opportunities for a wider range of developers to participate and innovate within this ecosystem. Our commitment is to deliver a Kotlin-based Plutus Virtual Machine. We hope that our initiative will help usher in a new era of growth and diversity in the Cardano ecosystem, ultimately benefiting all community members.
We would suggest using the following quantitative and qualitative metrics to measure the success of this proposal:
- Usage of the PVM in other projects: This is the most direct measure of success. The initial deployment of PlutoK will be inside of our own newm-chain open-source utility. Instead of talking to cardano-node to calculate smart contract costs, newm-chain will gain the ability to calculate costs directly by executing the contracts.
- Usage of Documentation and Resources: Analytics from our documentation site can provide useful metrics such as page views, unique visitors, and bounce rates. These numbers will give us insight into the usefulness and accessibility of our resources.
- Community Engagement: We'll track participation in workshops, webinars, Q&A sessions, and online forum discussions. We'll also monitor feedback and the general sentiment within the community, as this will give us a qualitative measure of our impact.
- Partner Feedback: Feedback from key partners and stakeholders within the Cardano ecosystem will also provide a qualitative measure of our success.
Please describe your plans to share the outputs and results of your project?
Everything we are building is open source, and with transparency as one of our driving values, we consistently share our successes, failures, strengths and shortcomings publicly with our community. We will continue to share output on our overall product development, future funded proposals and previously funded Project Catalyst proposals (Fund9) the way we are sharing them now:
- Public Reporting of Milestone Statuses – Discord, Twitter, Telegram, Newsletter, Youtube
- Nerd Out Youtube Channel – Andrew Westberg’s personal Youtube channel where he discusses Cardano in-depth
- Conferences and Events – Public speaking events or recorded interviews
- Community Lives and AMAs – Weekly Twitter Spaces and sporadic AMA events on specific topics in Discord
- Survey and Poll Reports from User Feedback – Public community votes and UX research
- Catalyst Landing Page – A dedicated Project Catalyst landing page on the newm.io website where users can review our funded proposals and track progress – newm.io/catalyst