[GENERAL] Name and surname of main applicant
Kuber Team
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Entity (Incorporated)
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
4
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language.
No
[GENERAL] Summarize your solution to the problem (200-character limit including spaces)
KuberIDE is a browser based IDE for smart contracts development, testing and deployment like Remix. Adding Aiken support will help Aiken smart contract developers become more productive.
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
No
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.”
No dependencies.
[GENERAL] Will your project’s output/s be fully open source?
No
[GENERAL] Please provide here more information on the open source status of your project outputs
The core of Kuber library which is a Haskell library and json-api for composing Cardano transactions and working with off-chain cardano blockchain. This has been open source since the beginning. You can find the source code here:
https://github.com/dquadrant/kuber
Kuber transaction composition and balancing library developed under this proposal (if funded) to add native support for Aiken will be open source.
The code editor and frontend will not be open source.
[SOLUTION] Please describe your proposed solution.
Starting with Plutus smart contracts on Cardano is challenging due to complex dependencies, often taking days to set up. In contrast, Ethereum offers an easier start. Efforts are underway in Cardano for simpler infrastructure and tools, aiming for a no-setup approach where a browser and internet suffice. KuberIDE, a browser-based IDE, enables writing, compiling, and interacting with Plutus contracts entirely online, streamlining the development process. It's already live and free at https://kuberide.com.
The Aiken language on Cardano is a domain-specific language (DSL) designed for writing smart contracts on the Cardano blockchain. Aiken aims to simplify the process of creating secure and efficient smart contracts by providing a more user-friendly syntax compared to lower-level languages. It's tailored specifically for Cardano's unique blockchain architecture and leverages the capabilities of its underlying protocol.
Integration with KuberIDE allows for easy writing, compiling, and deploying of Aiken contracts directly within the browser, enhancing accessibility and efficiency for developers working on the Cardano ecosystem.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community.
The integration of Aiken with KuberIDE will significantly benefit the Cardano community by:
- Improving Accessibility: Makes blockchain programming more accessible, attracting a broader range of developers.
- Streamlining Development: Offers an efficient workflow for writing, testing, and deploying Cardano smart contracts.
- Enhancing Security: Aiken's design, combined with KuberIDE, increases the security and reliability of smart contracts.
- Fostering Community Growth: Attracts new developers and encourages collaboration, leading to innovative applications.
- Offering Educational Advantages: Provides an ideal platform for learning blockchain technology, appealing to students and self-learners.
- Lowering Barriers to Entry: Simplifies the entry process into Cardano development, promoting innovation and diverse dApps.
This integration marks a significant advancement in making Cardano's technology more user-friendly and accessible, stimulating growth and innovation in the community.
[CAPABILITY & FEASIBILITY] 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?
In terms of capability, we believe we're the best team to deliver the project for these reasons:
- We're the same team who built the first version of KuberIDE which is already a complex system under the hood. We built the IDE based on our own experience working on Haskell and writing Plutus contracts. So, we know the problem we're solving first hand.
- We're a trusted team who have worked (and is still working with IOG) on different projects and assignments.
- Our team consists of experienced Haskell/Plutus developers, engineers and devops to deliver a great working software product.
To demonstrate that we can manage the funds properly, we plan to show how employ the agile software development methodology as we have always done ourselves internally.
- Build in sprints: We follow a short sprint cycle of 1 week where we ship at the end of sprint. The cycle goes as plan for the sprint, work on the sprint tickets, sprint review and deploy at the end of sprint.
- Release at the end of the sprint: Progress can be made if we maintain the cadence of shipping something usable at the end of the sprint.
- Get feedback from the users either directly on GitHub or via Discord and incorporate that on the sprint planning.
- Welcome the interested communities members to join our sprint review meetings and the release.
[Project Milestones] What are the key milestones you need to achieve in order to complete your project successfully?
M1: Aiken Language Server and API preparation
- Deeper research on Aiken implementation of the playground
- Setting up the language server and preparing the compilation API compatible with Kuber
M2: Aiken CodeEditor integration
- Code Editor and syntax highlighting
- Support for files and file management
- Logs, Outputs and Test results components
M3: Support Transaction building and testing with wallet
- Update Kuber transaction composition and balancing library to add native support for Aiken. This will be open source.
- Update integration with wallet
Final milestone
- Invite community to test
- Fix bugs reported by the community
- Community promotion
- Release of the feature
[RESOURCES] Who is in the project team and what are their roles?
Sandip Pandey, Project Manager
Sudip Bhattarai, Lead engineer
Nabin Pokharel, Plutus/backend developer
Nabin Kawan, frontend developer
Reeshav Acharya, Plutus/Haskell developer
All team members have worked on KuberIDE and have contributed features or bug fixes to the IDE.
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources.
M1: Aiken Language Server and API preparation
Development costs: 30,000 Ada
PM: 5,000 Ada
M2: Aiken CodeEditor integration
Development costs: 30,000 Ada
PM: 5,000 Ada
M3: Support Transaction building and testing with wallet
Development costs: 30,000 Ada
PM: 5,000 Ada
Final milestone
Development costs: 10,000 Ada
Test costs: 10,000 Ada
PM: 5,000 Ada
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The integration of Aiken on KuberIDE offers excellent value for money for the Cardano ecosystem by significantly enhancing development efficiency and accessibility. This integration reduces the time and resources required to develop and deploy smart contracts, leading to cost savings. It also opens up opportunities for a broader range of developers to contribute to the ecosystem, potentially leading to more innovative and diverse applications. This increased activity and innovation can drive greater adoption and value within the Cardano network, making the initial investment in the integration highly beneficial in the long run.
[IMPORTANT NOTE] The Applicant agrees to Fund Rules and also that data in the submission form and other data provided by the project team during the course of the project will be publicly available.
I Accept