[GENERAL] Name and surname of main applicant
Evgenii Lisitskii
[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)
12
[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)
A web application that allows users to input transaction CBOR and perform actions such as L1/L2 validation and visual display, simplifying the transaction investigation process for Cardano developers
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
Yes
[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.”
Cardano-serialization-lib (CSL): Open-source tool for serialization/deserialization of Cardano entities. It will be used for decoding CBOR transactions into a more user-friendly format.
aiken-uplc: Part of the Aiken project with a VM for Plutus script execution. It will be used for L2 validation.
Koios: API provider with a free tier. It will be used for retrieving on-chain data.
[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
Full project will be under Apache-2.0 license in a GitHub repository.
[SOLUTION] Please describe your proposed solution
Cquisitor will be a web-based tool with a user-friendly graphical interface, inspired by the current proof-of-concept but redesigned for enhanced usability. The tool will feature an input field for users to input CBOR transactions and a transaction view with buttons to perform actions such as partial L1 validation, Plutus script execution, and Catalyst metadata signature verification.
If a transaction contains invalid data (e.g., wrong balance, miscalculated script integrity hash), the tool will highlight the problematic part of the transaction and provide an explanatory message along with recommendations for fixing the issue.
The tool will leverage CSL for transaction decoding and data manipulation for validation, aiken-uplc for Plutus script execution, and Koios for retrieving on-chain data like UTXOs and current protocol parameters. The solution will be based on the current proof-of-concept implementation of Cquisitor, but with improved code quality and user experience.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
Cquisitor will have a significant positive impact on the Cardano developer community by:
- Saving time and effort: The tool will streamline the process of investigating transactions and performing validations, allowing developers to identify and fix issues more quickly and efficiently.
- Simplifying debugging: By providing clear error messages and recommendations, Cquisitor will make it easier for developers to debug transaction-related problems, reducing frustration and improving productivity.
- Lowering entry barriers: The user-friendly interface and integrated features will make it more accessible for new developers to work with Cardano transactions, potentially attracting more developers to the ecosystem.
The 13 stars on the GitHub repository of the proof-of-concept demonstrate that Cardano developers already recognize the value of such a tool.
[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?
Evgenii Lisitskii, the main applicant, is a code contributor to the cardano-serialization-lib (CSL) project. His contributions to the CSL codebase have demonstrated his extensive experience and expertise in working with Cardano transactions. Additionally, Evgenii has successfully developed a proof-of-concept version of Cquisitor without any funding, which has already garnered interest from developers, as evidenced by the 13 stars on the GitHub repository.
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Architecture Design and UI Mockups (2 months)
Objective: Establish the foundation for Cquisitor development by completing the architecture design, function definitions, and UI design.
Activities:
- Design the overall architecture of the Cquisitor web application
- Define the functions and modules required for the tool
- Create UI mockups and wireframes for the user interface
Acceptance Criteria & Evidence:
- Technical specification document outlining the architecture and function definitions
- UI mockups and wireframes demonstrating the proposed user interface
- GitHub repository created with initial project structure
L1 Validation Module (2 months)
Objective: Implement the Rust module for partial L1 validation and define error messages with explanations and hints for fixing.
Activities:
- Develop the Rust module for partial L1 validation
- Identify and define error messages for common validation issues
- Provide explanations and hints for fixing each error
Acceptance Criteria & Evidence:
- Functional Rust module for L1 validation
- List of error messages, explanations, and fixing hints
- GitHub pull request with the L1 validation module code
L2 Validation Module (2 months)
Objective: Implement the Rust module for L2 validation to enable Plutus script execution and validation.
Activities:
- Develop the Rust module for L2 validation
- Integrate the module with aiken-uplc for Plutus script execution
Acceptance Criteria & Evidence:
- Functional Rust module for L2 validation
- Successful integration with aiken-uplc for Plutus script execution
- GitHub pull request with the L2 validation module code and integration
UI Components and Integration (2 months)
Objective: Develop the user interface components using React and integrate them with the Rust modules.
Activities:
- Implement the UI components based on the designed mockups and wireframes
- Integrate the UI components with the Rust modules for L1 and L2 validation
Acceptance Criteria & Evidence:
- Functional React components for the user interface
- Seamless integration between the UI components and Rust modules
- GitHub pull request with the React components and integration code
Native Script Explanation Feature (2 months)
Objective: Implement the Native Script explanation feature using React and Rust.
Activities:
- Develop the Rust components for Native script execution for further explanation
- Develop the React components for displaying Native Script explanations
- Integrate the React components with the Rust module for Native Script explanation
Acceptance Criteria & Evidence:
- Functional Native Script explanation feature
- GitHub pull request with the Native Script explanation feature code
Documentation, Testing, and Deployment (2 months)
Objective: Finalize the Cquisitor web application by completing the documentation, conducting thorough testing, and deploying the application.
Activities:
- Write comprehensive user documentation
- Perform extensive testing to ensure the stability and reliability of the application
- Address any identified issues or bugs
- Deploy the Cquisitor web application to a production environment
Acceptance Criteria & Evidence:
- Comprehensive user and developer documentation
- Successful completion of testing with no critical issues or bugs
- GitHub repository with the final codebase, documentation, and test reports
- Fully functional and user-friendly Cquisitor web application deployed and accessible to users
[RESOURCES] Who is in the project team and what are their roles?
Evgenii Lisitskii (Main Applicant)
- Role: Project Lead, Architecture, Development, Management
- Responsibilities: Overseeing all aspects of the project, designing the architecture, contributing to development, and ensuring project success.
Additional team members required:
- Rust Developer
- Role: Rust Module Development
- Responsibilities: Implementing Rust modules for L1 validation, L2 validation, and Native Script explanation.
- Front-end Engineer
- Role: UI Development
- Responsibilities: Developing React components for the user interface and integrating them with Rust modules.
- UI/UX Designer
- Role: User Interface and User Experience Design
- Responsibilities: Creating intuitive and visually appealing UI designs, ensuring a smooth user experience.
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
Milestone 1: 30,000 ADA
- Architecture design: 10,000 ADA
- Function definitions: 10,000 ADA
- UI design: 10,000 ADA
Milestone 2: 40,000 ADA
- Rust module implementation for partial L1 validation: 30,000 ADA
- Defining list of messages with error explanations and hints for fixing: 10,000 ADA
Milestone 3: 30,000 ADA
- Rust module implementation for L2 validation: 30,000 ADA
Milestone 4: 40,000 ADA
- UI components for React: 20,000 ADA
- Integration with Rust modules: 20,000 ADA
Milestone 5: 30,000 ADA
- Implementation of React + Rust module for Native Script explanation: 30,000 ADA
Final Milestone: 30,000 ADA
- Documentation: 20,000 ADA
- Final testing: 10,000 ADA
Total Budget: 200,000 ADA
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The cost of the Cquisitor project represents excellent value for money for the Cardano ecosystem due to its significant impact on developer productivity and adoption:
- Time and cost savings: By simplifying the transaction investigation and validation process, Cquisitor will save developers countless hours of manual work and debugging. This translates to reduced development costs and faster time-to-market for Cardano-based projects.
- Lowering entry barriers: The user-friendly interface and integrated features of Cquisitor will make it easier for new developers to work with Cardano transactions. This can attract more developers to the ecosystem, leading to increased adoption and innovation.
- Community-driven innovation: As an open-source project, Cquisitor will enable the Cardano community to collaborate, contribute, and build upon the tool. This fosters a culture of shared knowledge and innovation, benefiting the entire ecosystem.
- Long-term benefits: The value provided by Cquisitor will extend beyond the initial development phase. As more developers adopt the tool and integrate it into their workflows, the cumulative benefits in terms of efficiency and productivity will far outweigh the initial investment.