[GENERAL] Name and surname of main applicant
Tolga Yaycı
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Individual
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
6
[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)
CARPS is an on-chain package registry and CLI tool, and IDE integration for Cardano Plutus, enabling easy publishing, discovery, and integration of smart contract packages.
[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?
Yes
[GENERAL] Please provide here more information on the open source status of your project outputs
The entire CARPS project will be fully open-source, available on GitHub under the MIT license. This includes the smart contract code, CLI tool, web interface, and VS Code extension.
[METADATA] Horizons
Developer Tools
[SOLUTION] Please describe your proposed solution
CARPS (Cardano Plutus Package Registry) is a comprehensive solution designed to streamline the development process for Plutus smart contracts on the Cardano blockchain. The project consists of four main components:
On-chain Package Registry:
The core of CARPS is an on-chain package registry implemented as a Plutus smart contract. This registry will store metadata about Plutus packages, including version information, dependencies, and content hashes. By leveraging the Cardano, we ensure transparency, immutability, and decentralized access to package information.
Key features:
- Store package metadata (name, version, description, dependencies)
- Implement access control for package owners
- Secure package publishing with version control
- Dependency management and resolution
- Content verification using IPFS hashes
- Smart contract implemented using Plutus, optimized for efficient on-chain storage and retrieval
Command-line Interface (CLI) Tool:
The CARPS CLI tool will provide developers with a familiar and efficient way to interact with the package registry. It will be built using Python and will integrate seamlessly with existing Cardano development tools.
Key features and commands:
- Package initialization: carps init
- Package publishing: carps publish
- Package installation: carps install
- Package search: carps search
- Version management: carps update
- Dependency resolution: carps resolve
- Package verification: carps verify
- Integration with existing build tools (e.g., Cabal, Nix)
Web Interface:
A user-friendly web interface will complement the CLI tool, offering a graphical way to browse, search, and manage Plutus packages.
Key features:
- Package discovery with advanced search functionality
- Detailed package pages with readme, versions, dependencies, and usage statistics
- User profiles for package authors and contributors
- Package Documentation with markdown rendering
- Analytics and trending packages
- Integration with GitHub for repository linking
VS Code Extension:
The VS Code extension integrates CARPS directly into the development environment, enhancing the Plutus development experience.
Key features:
- Syntax highlighting and auto-completion for CARPS configuration files (carps.toml)
- One-click package installation and updates within VS Code
- Inline documentation and type hints for installed packages
- Direct access to package documentation within the IDE
- Integration with the CARPS CLI for seamless workflow
- Quick actions for common CARPS commands
Our solution addresses the problem by:
- Centralizing package management: CARPS provides a single source of truth for Plutus packages, eliminating version conflicts and simplifying dependency management.
- Enhancing developer productivity: With easy-to-use CLI commands and a web interface, developers can quickly find, install, and update packages.
- Promoting code reuse: By making it easy to publish and discover packages, CARPS encourages developers to create modular, reusable smart contract components.
- Ensuring security: On-chain storage of package metadata and content verification through IPFS hashes helps prevent tampering and ensures package integrity.
CARPS is unique in its approach of combining on-chain storage with familiar package management paradigms, tailored specifically for the Cardano ecosystem. This project is crucial for Cardano as it will significantly lower the barrier to entry for Plutus development and increase a more collaborative and efficient development environment.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
CARPS will have a substantial positive impact on the Cardano community by:
- Accelerating Development: By providing easy access to reusable smart contract components, CARPS will significantly reduce development time for Plutus projects. This acceleration will lead to faster growth of the Cardano DApp ecosystem.
- Improving Code Quality: With a central registry, developers can easily find and use well-tested, community-vetted packages. This will lead to more robust and secure smart contracts across the ecosystem.
- Fostering Collaboration: CARPS will create a platform for developers to share their work, encouraging knowledge sharing and collaboration within the community.
- Lowering Entry Barriers: New developers will find it easier to get started with Plutus development, as they can leverage existing packages and focus on their unique application logic.
- Standardizing Best Practices: Popular packages will naturally emerge, establishing coding standards and best practices for the Cardano community.
CARPS will engage the entire Cardano developer community, from individual developers to large teams working on DApps. By streamlining the development process, we aim to attract more developers to the Cardano ecosystem and accelerate the growth of the Plutus smart contract ecosystem.
To demonstrate our impact, I will track metrics such as:
- Number of packages published
- Number of package downloads/installations
- Traffic of web interface
- Community feedbacks
Outputs will be shared through Carps documentation website.
[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?
I have a proven track record of successfully completing projects while maintaining high levels of trust and accountability. I have extensive experience in developing many (with Next.js) full-stack applications, with a strong understanding of Cardano ecosystem.
I have also experience working with well-known protocols such as Arbitrum, Stellar, Internet Computer etc. showcasing my ability to handle multiple ecosystems and expertise. I have developed more than 10 projects for 7+ protocols which are well received by the communities and developers. All of these projects are open-source and available on GitHub.
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Milestone 1:
Core Infrastructure and Proof of Concept
Milestone outputs:
- On-chain package registry smart contract (basic version)
- CLI tool with core functionality (init, publish, install, search)
- Basic web interface for package browsing
- Technical documentation for the on-chain registry and CLI
Acceptance criteria:
- Smart contract deployed on Cardano testnet
- CLI can interact with the on-chain registry to publish, install, and search packages
- Web interface can display package information from the registry
- Documentation covers all implemented features
Evidence of milestone completion:
- GitHub repository with smart contract code and test suite
- Demonstration video of CLI tool usage
- Published technical documentation
Milestone 2:
Enhanced Functionality and Security
Milestone outputs:
- Improved on-chain registry with version control and dependency resolution
- Extended CLI functionality (update, resolve, verify)
- Web interface with user authentication and package management
- VS Code extension with basic functionality
Acceptance criteria:
- On-chain registry supports multiple versions of packages and resolves dependencies
- CLI tool includes all planned commands with proper error handling
- Users can create accounts, publish, and manage packages through the web interface
- VS Code extension allows package installation and carps.toml file management
Evidence of milestone completion:
- Updated GitHub repository with new features and test coverage
- Demo video showcasing new CLI commands, web interface functionality, and VS Code extension
- User guide for the CLI tool, web interface, and VS Code extension
Milestone 3:
Integration and Ecosystem Development
Milestone outputs:
- Advanced VS Code extension features (auto-completion, syntax highlighting)
- Advanced web interface features (analytics, user profiles etc.)
- Comprehensive API for third-party integrations
Acceptance criteria:
- VS Code extension provides full package management functionality within the development environment
- Web interface includes all planned advanced features
- API documentation and examples for third-party developers
Evidence of milestone completion:
- Deployed production version of the web interface with all features
- Published API documentation and example applications
Milestone 4:
Project Close-out and Final Deliverables
Milestone outputs:
- Project Close-out Report
- Final demonstration video
- Comprehensive user and developer documentation
Acceptance criteria:
- Project Close-out Report summarizes achievements, challenges, and future directions
- Final video demonstrates all CARPS components and their integration
- Documentation covers all aspects of using and contributing to CARPS
Evidence of milestone completion:
- Published Project Close-out Report
- Uploaded final demonstration video
- Comprehensive documentation available on project documentation website and GitHub Readme
[RESOURCES] Who is in the project team and what are their roles?
Tolga Yaycı - Software Developer
A full-stack developer with three years of experience, Tolga holds a degree in Computer Science. He has created several Web3 applications and developed complex React and Next.js projects, demonstrating his ability to build robust web and desktop applications. Tolga is currently a contractor for ApeWorX.
Have 10+ grantee projects for more than 7 protocols such as Arbitrum, Internet Computer, and Stellar.
Notable grantee projects include:
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
Developer Compensation: Compensation for the my time spent on designing, developing, testing, and launching the package registry.
- Amount: 60,000 ADA
- Details: This covers full-time development work at a rate of 10,000 ADA per month for 6 months.
Maintenance and Support: Ongoing maintenance and user support for the project for 12 months following the development period.
- Amount: 36,000 ADA
- Details: This will cover activities such as maintaining, fixing any bugs that arise, and providing user support via forums and direct communications.
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The CARPS project represents excellent value for money for the Cardano ecosystem for several reasons:
Long-term Impact: CARPS will become a foundational tool in the Cardano development ecosystem, accelerating project development and improving code quality for years to come.
Developer Time Savings: By streamlining package management and promoting code reuse, CARPS will save countless hours of developer time across the ecosystem. This efficiency gain far outweighs the project's cost.
Ecosystem Growth Catalyst: CARPS will lower the barrier to entry for new developers, potentially attracting more devs to the Cardano ecosystem. This growth can lead to more projects built on Cardano and increase adoption.
Reduced Duplication of Effort: By providing a central package registry, CARPS will reduce the duplication of effort across projects, saving the ecosystem money in the long run.
The cost of the project is carefully calibrated to provide maximum value while maintaining competitive rates for specialized blockchain development. The budget of 96,000 ADA (approximately $32,500) translates to about $5,417 per month for the 6-month development period, or roughly $34/hour for full-time work. This rate is highly competitive for specialized blockchain development, especially considering the unique combination of Cardano ecosystem knowledge, smart contract expertise, and full-stack development skills required for CARPS. The budget reflects the complexity of the project, which involves developing an on-chain smart contract, CLI tool, web interface, and VS Code extension, as well as conducting security audits and community engagement activities. Given the potential long-term impact of CARPS on the Cardano ecosystem, this investment represents excellent value for money, as it will significantly enhance developer productivity and foster the growth of the Plutus smart contract ecosystem.