not approved

NEWM Community - Onboard Android Devs to Cardano with PlutoK - Plutus Virtual Machine for Kotlin

₳309,091.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Feasibility
Value for money
Impact / Alignment
Solution

We will develop PlutoK, a Plutus Virtual Machine (PVM) in Kotlin, enabling 1M+ Kotlin developers to execute Cardano smart contracts inside Kotlin, enhancing both the Cardano and Kotlin ecosystems.

Problem:

Cardano’s developer tools should be more inclusive of other programming languages. In order to tap into the 1M+ Android developers, there is a need for a Kotlin-based Plutus Virtual Machine (PVM).

Yes Votes:
₳ 160,138,503
No Votes:
₳ 129,070,375
Votes Cast:
569

[IMPACT] 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:

  1. 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.
  2. 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.
  3. 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.

[IMPACT] 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.

[IMPACT] 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:

  1. 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.
  2. 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.
  3. 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.
  4. Partner Feedback: Feedback from key partners and stakeholders within the Cardano ecosystem will also provide a qualitative measure of our success.

[IMPACT] 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

    [CAPABILITY/ FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability?

Our team has consistently demonstrated a strong capacity to deliver complex projects with high levels of accountability, transparency and adaptability as evidenced by our track record of successfully managed and executed Catalyst proposals, as well as quarterly NEWM Community Governance votes that directly affect $NEWM token holders, and strategic partnerships driven by community needs. Our commitment to meeting project goals within defined timelines and budgets sets a precedent of dependability.

A noteworthy accomplishment from our Fund9 proposal was the completion and delivery of the Kogmios Library that allows Kotlin access to low-level Cardano blockchain data.

Accountability & Transparency

Our commitment to transparency has strengthened our standing as an accountable team. We maintain and nurture open lines of communication through all of our community channels, and support a culture of mindful listening where community members feel heard.

We also consistently share our code and development progress with the wider ecosystem, underscoring our dedication to open source principles and community engagement. This level of openness encourages community feedback and critique, enabling continuous improvement and bolstering the reliability of our software. We invite you to review our work through our Github repository: https://github.com/projectNEWM

Adaptability

We are privileged to have a team of experts, contributing their unique skills to our projects and proposals. From seasoned developers to our exceptional content team, their combined capabilities allow us to tackle diverse challenges effectively.

Furthermore, we place a high emphasis on community engagement and project management. We consistently provide updates and respond to community feedback. Past adherence to defined timelines and budgets demonstrates our commitment to efficient resource management – E.g., Kogmios Library delivered from our Catalyst proposal in Fund9.

In summary, the delivery of the Kogmios Library in Fund9 that was also related to Kotlin, our proven track record of accountability, transparency and adaptability, and our team expertise ensure our capability to successfully execute projects with high levels of trust.

[CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible?

Primary Goal

Our main objective is to create PlutoK, a fully-functional PVM in Kotlin, capable of interpreting and running smart contracts on Cardano.

Secondary Goal

Create comprehensive documentation and resources, ensuring that developers have all the information they need to start using our solution effectively.

Feasibility Validation:

  1. Technical Feasibility: We'll start with a small bit of code for working with flat files. Unit tests will verify the outputs similar to what the Aiken tests produce. This will help validate our approach technically before we scale up.
  2. Community Feedback: We'll solicit feedback from the Cardano community on our approach, and make adjustments based on this feedback. Community engagement and satisfaction will be key indicators of the feasibility of our solution.

By setting clear goals and validation strategies, we'll ensure that we stay on track and deliver a solution that truly benefits the Cardano ecosystem.

[CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

  1. Technology Feasibility Research (20h)
  • Activities: Conduct technical feasibility study, research existing Plutus Core implementation in Aiken, gauge interest from Kotlin developers, write report

2. Back-End Implementation (200h)

  • Activities: Translate Plutus Core into Kotlin, integrate PlutoK with Cardano's nodes through newm-chain

3. Quality-Control Stage (65h)

  • Activities: Thorough testing of PlutoK, identify potential bugs or security vulnerabilities, write a report detailing test results

4. Implement Improvements Back End (20h)

  • Activities: Implement changes and improvements based on quality control findings

5. Bug Fixing (20h)

  • Activities: Address any remaining issues or bugs, conduct final testing to ensure smooth operation

    [CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone.

  1. Technology Feasibility Research Deliverables: A report detailing the feasibility and research outcomes

2. Backend Implementation Deliverables: Kotlin-based PVM integrated into newm-chain available on Github

3. Quality Control Stage Deliverables: Provide a Quality Control report

4. Implement Improvements Back Deliverables: Updated PVM and library with improvements available on Github

5. Bug Fixing Deliverables: Fully-functional, bug-free PVM and library available on Github

[RESOURCES & VALUE FOR MONEY] Please provide a detailed budget breakdown of the proposed work and resources.

Screenshot-2023-07-11-at-22.34.44-0fbdaa.png

Please note that each line item includes overhead operational, product management & project management costs to coordinate the product development and for filling out forms and reporting milestones to the Project Catalyst F10 teams – due to the friction we experienced the last time we received funding. We used a conversion rate of 0.165 ADA per USD due to the high volatility, plus a detailed analysis of historical price movements show that the low might be in at around 0.20 cents, but there is no support line after that until around 0.13 cents, so we used the average of both.

[RESOURCES & VALUE FOR MONEY] Who is in the project team and what are their roles?

<u>Project Team Leads:</u>

Andrew Westberg, CTO | NEWM

Andrew brings a plethora of experience to the project team both as a developer and leader. He has a deep knowledge of the Cardano blockchain from building tools for stakepool operators and the community like CNCLI, JorManager, and Phyrhose. He has a heart for teaching and provides educational content via his NerdOut youtube channel. In the past, Andrew has worked as a lead mobile developer for Nike and WalMart and been involved with launching multiple startups.

Walter Lara, Senior Back-End Developer | NEWM

Walter Lara has more than 20 years of experience in the software development industry and academics. His experience includes software security research, full-stack development, and mobile development for companies like Intel and Nike. He has served in multiple technical leader roles providing engineering team members with the training, guidance, support, resources, motivation, and technical direction to tackle complex projects. Walter also teaches college-level courses in Computer Science and Electronics Engineering.

Additional Team Members (bios available upon request):

Quality Manager NEWM: Quality Control

Product Tester NEWM: Product testing

Project Manager NEWM: Proposal & CF 10 coordination

[RESOURCES & VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?

The cost of this project, when compared to the potential growth and expansion of the Cardano ecosystem, represents excellent value for money.

PlutoK, our Kotlin-based Plutus Virtual Machine, will open Cardano to a significant pool of Kotlin developers, driving innovation and diversity within the ecosystem. Our comprehensive library accelerates smart contract development, increasing efficiency and speed to market.

In short, while the initial investment is substantial, the projected growth, innovation, and sustainability this proposal will bring to the Cardano ecosystem offers immense long-term value.

Community Reviews (1)

Comments

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