vote pending
Lucid Evolution 2.0 - Private Testnet SDK & L2 Provider Integration
Current Project Status
vote pending
Amount
Received
₳0
Amount
Requested
₳200,000
Percentage
Received
0.00%
Solution

This solution leverages Dockerode/Testcontainers for easy control of Cardano private testnet environments and provisions throwaway, on-demand containers for development and testing use cases.

Problem

Transaction builders lack reliable tools to mimic Cardano blockchain behaviour, forcing developers to use unreliable external emulators, which are outside the testing framework’s control.

Anastasia Labs

1 member

Lucid Evolution 2.0 - Private Testnet SDK & L2 Provider Integration

Please describe your proposed solution

The problem I am addressing is the lack of reliable tools for developers to simulate Cardano's blockchain behavior during unit testing.

Current TypeScript transaction builders depend on incomplete emulators and/or private testnets, which require the use of bash scripts and raw Docker commands.

These tools are outside the direct control of the testing framework, creating challenges in maintaining consistency and reliability during the development and testing processes.

My approach involves building a comprehensive package that enables developers to create private testnets utilizing a real Cardano node for transaction processing.

By leveraging Dockerode/Testcontainers, this solution will provide easy control of Cardano private testnet environments directly from TypeScript.

All testnet operations, including node startup, shutdown, and state management, will be controllable through a TypeScript API, improving integration with existing development workflows.

Developers will be able to provision throwaway, on-demand containers, significantly streamlining their development and testing workflows.

Additionally, while Hydra is a Layer 2 solution for Cardano and not a provider of Lucid Evolution, I will integrate its functionalities to enhance the Provider package capabilities. This integration will further improve the flexibility of lucid-evolution, offering developers more robust tools for building scalable applications on the Cardano platform.

Please define the positive impact your project will have on the wider Cardano community

This project will significantly benefit the Cardano community by providing reliable tools for developers to create private testnets effectively.

Increased Efficiency: Developers can quickly set up private testnets, allowing them to focus on building and optimizing their applications.

Enhanced Quality: Reliable testing environments will lead to more robust and secure smart contracts, contributing to the network's overall health.

Documentation: Comprehensive guides and tutorials will be published on GitHub

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?

The core team is uniquely positioned to enhance Lucid Evolution, having already demonstrated our capabilities through tangible achievements and a deep understanding of the Cardano ecosystem.

We've successfully implemented key improvements, such as robust error handling and a refined type system, making Lucid Evolution more reliable and predictable. We've streamlined dependency management, reduced redundant code, and optimized performance, resulting in a leaner, more efficient library.

Our efforts go beyond fixing existing issues. We've led Lucid Evolution's integration with CML 5, unlocking new possibilities like Plutus V3 and Conway features for developers. Additionally, we transitioned Lucid Evolution from a monolithic structure to a modern monorepo, enhancing scalability, maintainability, and code reusability, while streamlining development workflows.

Furthermore, we've integrated the latest Plutus V3 capabilities and governance features into Lucid Evolution, bringing new functionality to the platform.

These achievements represent real progress that directly benefits the Cardano ecosystem. The core team remains committed to open-source development and active collaboration within the community.

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: SDK Design and Requirements Gathering

  • Outputs:
  • Detailed design document outlining the SDK’s architecture, functionalities, and user requirements.
  • List of features to be included in the SDK based on community feedback and developer needs.
  • Acceptance Criteria:
  • The design document is reviewed and approved by stakeholders.
  • Clear and prioritized feature list is established for development.
  • Evidence of Completion:
  • Design document and feature list available in the GitHub repository.

Milestone 2: Core SDK Development

  • Outputs:
  • Initial implementation of the SDK allowing developers to create and manage private testnets.
  • Integration of Dockerode/Testcontainers to enable on-demand provisioning of throwaway environments.
  • Acceptance Criteria:
  • SDK functions correctly, allowing users to spin up private testnets easily.
  • Successful interaction with Docker for container management.
  • Evidence of Completion:
  • Code commits documenting the implementation of core SDK features in the GitHub repository.
  • Unit tests confirming functionality.

Milestone 3: Documentation and Developer Onboarding

  • Outputs:
  • Creation of initial user guides and documentation to support developers in using the SDK.
  • Development of onboarding materials, including quick start guides and example projects.
  • Acceptance Criteria:
  • Documentation clearly explains SDK features and provides step-by-step instructions for use.
  • Onboarding materials are accessible and help new users quickly understand how to use the SDK.
  • Evidence of Completion:
  • User guides and onboarding materials available in the GitHub repository.

Milestone 4: Feature Development and Optimization

  • Outputs:
  • Implementation of additional features and optimizations based on developer feedback.
  • Final adjustments to ensure robust performance and usability of the SDK.
  • Acceptance Criteria:
  • All planned features are integrated and function as expected.
  • Performance metrics meet predefined criteria for speed and reliability.
  • Evidence of Completion:
  • Updated codebase with final features and optimizations in the GitHub repository.

Final Milestone: Documentation, Release, and Community Engagement

  • Outputs:
  • Comprehensive documentation aligned with Cardano standards for using the SDK.
  • Project Closeout Report detailing achievements, challenges, and lessons learned.
  • Demonstration video showcasing the SDK's capabilities.
  • Acceptance Criteria:
  • Documentation provides clear guidance for developers to use the SDK effectively.
  • Community engagement efforts are documented, showing user adoption and feedback.
  • Project Closeout Report is submitted, summarizing the project lifecycle.
  • Evidence of Completion:
  • GitHub repository containing:
  • Final SDK codebase with all improvements and integrations.
  • Comprehensive documentation.
  • Project Closeout Report available in the repository.
  • Demonstration video showcasing key features and improvements of the SDK.

Who is in the project team and what are their roles?

Jonathan Rodriguez - Senior Blockchain Developer

Linkedin

Jonathan Rodriguez is a distinguished Cardano Smart Contract Developer with a wealth of experience in auditing and optimizing key protocols within the Cardano ecosystem, including Minswap V2, IBC protocol (Cardano Foundation), Optim Finance, Lenfi V2, Genius Yield, and Wanchain Bridge.

His deep technical expertise in smart contracts is further evidenced by his development of the Lucid Evolution framework and his authorship of CIP-128. Jonathan is also a co-creator of the Cardano Design Patterns Libraries, which serve as valuable resources for the wider developer community.

Beyond his technical development work, Jonathan has made significant contributions to the Cardano network's resilience, playing a pivotal role in mitigating a DDOS attack.

His efforts in the Cardano community extend to delivering over five successful Project Catalyst proposals, which have added important open-source tools and innovations to the ecosystem.

Jonathan's role as a Smart Contract Developer and lecturer for the "Cardano Solutions Architect" course at Emurgo Academy demonstrates his commitment to shaping the next generation of blockchain developers.

Please provide a cost breakdown of the proposed work and resources

The total budget for the proposed project is estimated at 200,000 ADA, equivalent to 60,000 USD at the current ADA price of 0.30 USD. This plan is designed to efficiently deliver the project within 6 -8 months, ensuring quality while addressing all cost considerations.

Senior Developers:

Hiring two senior developers is essential for the successful completion of the project within the specified timeframe. Their combined expertise will be crucial for delivering high-quality, secure code.

  • Hourly Rate: Senior developers’ rates range from 80-120 USD per hour.
  • Estimated Total Cost in ADA (6 months):
  • 80 USD/hour: For two developers working full-time (40 hours per week for 6 months), the total cost per developer would be 76,800 USD, equivalent to 128,000 ADA.

Thus, hiring two senior developers at the 80 USD/hour rate will collectively cost approximately 256,000 ADA over the full project duration.

However, since the total project budget is 200,000 ADA, the cost per developer will be split, bringing each developer's effective budget allocation down to 100,000 ADA for the duration of the project.

Managing Price Volatility

To mitigate the risks associated with ADA's price volatility, the project will implement Fixed-Rate Contracts (Partial):

  • A fixed portion of each developer’s payment will be denominated in ADA at the contract’s start, while the remaining portion will be paid in a stable currency, ensuring predictable compensation despite ADA price fluctuations.

Tools & Services

The project will require essential third-party tools and services to support efficient and secure development.

  • Infrastructure: $800/year (~2,667 ADA)
  • This cost covers hosting, servers, and cloud resources required for continuous development and deployment. The selection of cost-effective infrastructure ensures uninterrupted progress with minimal overhead.

Community Engagement & Publicity

Community engagement and promotion are vital for raising awareness and ensuring the project's long-term success.

  • Community Engagement & Marketing: $3,000 (~10,000 ADA)
  • This budget will be allocated to community outreach, educational content creation, and promotional activities within the Cardano ecosystem to ensure visibility and adoption of the project.

Contingency Fund & Continued Maintenance

A contingency fund has been established to address unforeseen costs or challenges that may arise during the project, ensuring smooth execution and continued maintenance.

  • Contingency Fund: 20,000 ADA (10% of the total budget)
  • This fund will provide flexibility to manage unexpected expenses, serving as a safety net to keep the project on track.

No dependencies

How does the cost of the project represent value for money for the Cardano ecosystem?

The Private Tesnet SDK will streamline the process of creating and managing private testnets, saving developers countless hours that would otherwise be spent on complex setups and troubleshooting.

Lucid Evolution is a core library within the Cardano ecosystem, supporting numerous protocols such as Mynth, Pondora, Genius Yield, Splash, Ada Markets, Meld, Summon, Strike Finance, Atrium, and many others. By investing in this upgrade, we’re ensuring the long-term reliability of this key component, preventing issues that could arise from neglecting its maintenance—issues many developers faced during the last Conway hard fork.

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