[GENERAL] Name and surname of main applicant
Alberto Fanton
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Entity (Not Incorporated)
[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)
We will create a comprehensive SDK in Zig for the Cardano blockchain to simplify development, enhance accessibility, and accelerate dApp creation, boosting adoption and innovation.
[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 SDK will be fully open source, allowing for community contributions and adaptations throughout the project’s lifecycle.
[METADATA] Horizons
Developer Tools
[SOLUTION] Please describe your proposed solution
The proposed SDK will provide a robust set of tools for developers to easily create wallets, manage transactions, and interact with smart contracts on the Cardano blockchain. This SDK will be implemented in Zig, a language that emphasizes safety, performance, and simplicity.
Why Zig?
- Performance: Zig is designed to be a low-level systems programming language with a focus on efficiency. Its ability to produce optimized machine code makes it suitable for performance-critical applications, which is essential for blockchain development, where speed and resource management are crucial.
- Memory Safety: Zig offers features that promote memory safety without a garbage collector. This can help prevent common programming errors such as null pointer dereferences and buffer overflows, making the SDK more robust and less prone to vulnerabilities.
- Popularity: Zig is gaining popularity among developers due to its simplicity and modern features. The growing community and increasing adoption make it an appealing choice for new projects, providing a wealth of resources, libraries, and support for developers.
- Compile-time Safety: With compile-time code execution and static analysis capabilities, Zig allows developers to catch potential errors early in the development process. This helps ensure that the SDK is reliable and well-tested before release.
- Simplicity and Clarity: Zig's syntax is designed to be straightforward and readable, which can help reduce the learning curve for new developers. Clear code contributes to better collaboration and maintenance over time, fostering a more engaged development community.
The SDK will include comprehensive documentation and example applications to enhance the learning curve and facilitate community engagement. Ultimately, the SDK aims to significantly lower the barrier to entry for developers interested in Cardano.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
This project will increase developer engagement and reduce development time for dApps on Cardano, leading to more innovative applications. Success will be measured through the number of developers using the SDK, community feedback, and the volume of dApps created. Outputs will be shared through community channels, GitHub, and developer forums.
[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?
- Team Expertise: Our team consists of 2 skilled professionals with extensive experience in blockchain technology and open-source development. We possess a deep understanding of the Cardano architecture and have successfully contributed to various open-source projects.
- Trust and Accountability:
- Established Credibility: Our team's history of contributions to the Cardano ecosystem and successful open-source projects builds confidence in our ability to deliver high-quality results.
- Transparency Through Open Source: The SDK will be fully open-source from the outset, ensuring all code is accessible on GitHub. This promotes community involvement, oversight, and collaborative improvement.
- Milestone-Based Funding: We will manage funds transparently through a milestone-based budget plan, providing regular progress updates that detail completed tasks and budget allocations.
By leveraging our collective expertise and systematic development approach, we are well-equipped to deliver this project with high levels of trust and accountability.
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Research, Planning, and Initial Setup
Estimated Time: 120 hours
- Outputs
- Comprehensive research on existing SDKs and best practices documented.
- Defined project scope, outlining key features and Zig-specific benefits.
- Development environment setup, including CI pipeline.
- Project scaffolding and initial codebase structure established.
- Acceptance Criteria
- Project scope is clearly documented and agreed upon by the team.
- CI pipeline is functional, running basic tests.
- Codebase structure is modular and scalable for future development.
- Evidence of Completion
- Research report outlining comparisons to existing SDKs.
- GitHub repository with the initial project setup, including CI pipeline and scaffolding.
- Link to the CI dashboard showing it runs correctly.
Core Functionality Development
Estimated Time: 160 hours
- Outputs
- Wallet management features implemented (create, import, manage wallets).
- Transaction building and signing functionalities developed.
- Unit tests written for wallet and transaction functions.
- Acceptance Criteria
- Wallet and transaction features pass all unit tests.
- Basic integration with Cardano nodes or APIs is functional.
- Transactions are successfully built and signed using the SDK.
- Evidence of Completion
- GitHub repository with wallet and transaction code.
- Test suite showing successful test results.
- Sample transaction built and signed in a demo environment, linked in GitHub.
Smart Contract Interaction and Serialization
Estimated Time: 160 hours
- Outputs
- Serialization methods for wallet and transaction data implemented.
- Smart contract interaction functionalities (querying, sending data) added.
- Unit tests and integration tests for serialization and smart contract features.
- Acceptance Criteria
- Smart contract interactions and serialization processes work with no errors.
- Compatibility with Cardano serialization format (CBOR) confirmed.
- All tests for these features pass.
- Evidence of Completion
- GitHub repository updated with serialization and smart contract code.
- Test results from unit and integration tests.
- Example demonstrating smart contract interaction (e.g., querying a Plutus contract).
Comprehensive Testing, Optimization, and Initial Documentation
Estimated Time: 160 hours
- Outputs
- Full end-to-end testing performed across SDK functions.
- Code optimized for performance and resource management, especially using Zig’s memory safety features.
- Initial documentation on core features and usage drafted.
- Acceptance Criteria
- No critical bugs in the test results, and performance benchmarks meet the goals.
- Code is fully optimized for speed and memory usage.
- Documentation is clear, covering all core functionalities.
- Evidence of Completion
- GitHub repository with finalized code optimizations.
- Test results and performance benchmarks uploaded to GitHub.
- Initial documentation uploaded and accessible in the repository.
Estimated Time: 160 hours
- Outputs
- Full end-to-end testing performed across SDK functions.
- Code optimized for performance and resource management, especially using Zig’s memory safety features.
- Initial documentation on core features and usage drafted.
- Acceptance Criteria
- No critical bugs in the test results, and performance benchmarks meet the goals.
- Code is fully optimized for speed and memory usage.
- Documentation is clear, covering all core functionalities.
- Evidence of Completion
- GitHub repository with finalized code optimizations.
- Test results and performance benchmarks uploaded to GitHub.
- Initial documentation uploaded and accessible in the repository.
Example Applications and Final Documentation
Estimated Time: 120 hours
- Outputs
- Example applications demonstrating wallet management, transaction building, and smart contract interaction.
- Comprehensive documentation finalized, including usage examples, API references, and guides.
- Acceptance Criteria
- Example applications run successfully without issues.
- Documentation is complete, covering all SDK features and providing clear examples.
- Evidence of Completion
- GitHub repository with example applications and README instructions.
- Final version of the SDK documentation uploaded on GitHub and other platforms like GitBook.
Community Engagement and Official Launch
Estimated Time: 80 hours
- Outputs
- Official launch of the SDK on GitHub and announcement on developer forums.
- Feedback collected from community engagement.
- Acceptance Criteria
- SDK is live, and initial community feedback is gathered.
- Feedback on SDK usability collected for future improvements.
- Evidence of Completion
- Publicly available GitHub repository with a final release.
- Feedback survey results or summary of community input.
[RESOURCES] Who is in the project team and what are their roles?
Alberto Fanton
https://github.com/albertodvp (all the contacts can be founds from here)
Alberto is a blockchain engineer with 7 years of professional experience working in both national and international contexts. Currently, he is working as a freelancer, dedicating his expertise to developing Cardano-based projects with a focus on distributed systems and blockchain development. His experience in various companies in Milan has given him deep familiarity with the local tech ecosystem and allowed him to build an extensive professional network.
An active member of the Milan tech community, Alberto co-founded the Nix Milano meetup, is a frequent attendee of the Open Source Saturday events and regularly participates in the Haskell Milano meetup. His involvement in these communities has helped foster a thriving developer environment in Milan, with a focus on functional programming, open-source contributions, and blockchain innovation.
In addition to his professional work, Alberto is a dedicated contributor to the open-source ecosystem. His notable contributions include:
He is also a Nixpkgs maintainer, contributing to the development of one of the most advanced package management systems. Alberto’s strong presence in the open-source community, combined with his extensive network and local expertise, positions him well to support the growth of the Cardano ecosystem in Milan.
Andrea Ciceri
https://github.com/aciceri
Andrea has over 5 years of experience in blockchain technology, primarily focused on Cardano, with earlier work in Ethereum. For the past 3 years, he has worked as a DevOps Engineer and Nix expert, crafting solutions for the Cardano ecosystem. His passion for Nix led him to co-found the Nix Milano meetup, the first recurring Nix-focused community event in Italy.
Andrea has contributed to and led several open-source Cardano projects, including:
- cardano.nix: A set of NixOS modules for deploying Cardano services, featuring autogenerated documentation and VM-based tests.
- spo-anywhere: A tool for deploying NixOS machines running a stake pool on any Linux server.
- cardanow: A service that generates recurring snapshots for various Cardano-related applications, including cardano-node, cardano-db-sync, and Kupo.
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
We estimate a total of 800 hours of work for the project, with a rate of €60 per hour. This results in a base cost of €48000.
Additionally, we are allocating a 5% contingency fund for unforeseen expenses, which amounts to €2400.
Total Estimated Budget:
- Base Cost: €48000
- Contingency Fund: €2400
- Total: €50400
At a rate of €0.30 per ADA, this translates to 168000 ADA for the entire project.
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The proposed project represents significant value for money for the Cardano ecosystem by allocating all resources to research, design, and development efforts aimed at creating a high-quality SDK in Zig.
- Comprehensive Investment: The total funds will be directly channeled into critical aspects of the project, including thorough research to ensure alignment with Cardano's architecture, the design of user-friendly interfaces, and robust coding practices to deliver a reliable product. This focused investment ensures that every euro spent contributes to building a foundational tool for developers.
- Increasing Traction of Zig: Zig is rapidly gaining traction in the developer community due to its emphasis on safety, performance, and simplicity. By adopting Zig, this project leverages a modern language that resonates with emerging developers, making the SDK more appealing and accessible. This trend positions the SDK to attract a broader audience, further enhancing its value.
- Long-Term Ecosystem Growth: The development of this SDK will enhance the capacity for innovation on Cardano, enabling more developers to create decentralized applications (dApps). As the number of dApps increases, the overall utility and attractiveness of the Cardano ecosystem will grow, leading to increased adoption and user engagement. This potential for exponential growth in the ecosystem justifies the investment.
- Sustainable Community Development: The project will not only provide a tool but also foster a supportive community around it, encouraging collaboration and shared knowledge. The impact of investing in community-driven resources can lead to increased engagement and sustained growth within the Cardano ecosystem.
In conclusion, the investment in this project is a strategic move towards enhancing the Cardano ecosystem by providing essential resources for developers, tapping into the growing popularity of Zig, and fostering long-term community growth.