Synpress - e2e testing framework for dApps

Project Name: Synpress

Project Description:

Synpress is an e2e testing framework built specifically for Web3 dApps. It makes it easy to test how users interact with their wallets (like MetaMask) within your dApp, ensuring everything works smoothly and securely. Synpress combines the power of Playwright with a wallet-centric API, enabling you to simulate real user actions like connecting a wallet, sending transactions, and signing messages.

In short, Synpress:

  • Makes testing dApp interactions with wallets much easier.
  • Improves the quality and reliability of your dApps by enabling more thorough testing.
  • Saves you time and effort with its streamlined API and caching system.
  • Allows you to build higher-quality dApps with confidence.

Who is Synpress for?

  • Web3 developers building dApps that require users to connect and interact with their wallets.
  • QA engineers responsible for testing the functionality and security of dApps.
  • Anyone who wants to ensure their dApps work seamlessly with different wallets and blockchain networks.

If you’re developing in the Web3 space, Synpress is a powerful tool that can help you build better, more robust, and more secure dApps.

Synpress as a Public Good:

Synpress is more than just a testing library; it’s a public good that elevates the entire Web3 ecosystem. Here’s why:

  1. Open-source and accessible:
  • Free to use: It’s completely free and open-source, available to anyone building dApps.
  • Community-driven: It’s hosted on GitHub and welcomes contributions, feedback, and bug reports from the community.
  1. Raises the bar for dApp quality:
  • Improved security: By making robust e2e testing easier, it helps developers identify and fix vulnerabilities related to wallet interactions and blockchain transactions, leading to more secure dApps.
  • Enhanced functionality: It enables developers to thoroughly test all aspects of their dApps, ensuring they function as intended and provide a seamless user experience.
  • Increased user trust: Higher-quality dApps, backed by thorough testing, build trust among users, promoting wider adoption of decentralized technologies.
  1. Benefits the entire ecosystem:
  • Supports developers on all chains: Synpress is not limited to a specific blockchain or wallet. It’s designed to be versatile and adaptable, benefiting developers building on EVM and non-EVM chains.
  • Fosters innovation: By simplifying testing, it lowers the barrier to entry for new developers and encourages experimentation with novel dApp concepts, driving innovation in the Web3 space.
  • Creates a more robust Web3: More reliable and secure dApps contribute to a stronger and more trustworthy Web3 ecosystem, paving the way for mainstream adoption.
  1. Beyond financial gain:
  • Synpress development is not driven by profit motives. Its mission is to empower Web3 developers and contribute to the growth of a more secure, reliable, and innovative decentralized future. This aligns with the core principles of public goods.

In conclusion, Synpress embodies the spirit of a public good by providing free, accessible, and impactful tools that strengthen the Web3 ecosystem, ultimately benefiting all participants.

Main Project Funding Sources:

Synpress primary (and only) funding source is grants. It has never received any other type of funding.

Grant Funding:

  • Synpress has received approximately 90,000 OP tokens from both RetroPGF #2 and RetroPGF #3.

Project Roadmap:

Milestones Achieved:
Synpress has achieved significant milestones, demonstrating its growing impact on the Web3 testing landscape:

  1. Open-source success:
  1. Community adoption and recognition:
  • Growing user base: Synpress boasts over 9,500 weekly downloads, showcasing its widespread use among Web3 developers. This is further supported by 7,000 monthly views/clones and integration into over 670 repositories, signifying its increasing popularity and reliance within the Web3 developer community.
  • Positive feedback: It has received positive feedback from users, highlighting its ease of use, intuitive API, and the significant time savings it provides.
  • Competitive edge: When compared to its competitors, Synpress shows a considerably higher adoption rate, reflecting its strength and preference among developers.
  1. Feature-rich functionality:
  • Robust wallet integration: Synpress provides a comprehensive API for interacting with MetaMask (+ Keplr and Phantom), allowing developers to control almost all aspects of the wallet within their tests.
  • Seamless testing frameworks integration: Integration with Playwright gives developers access to a powerful and versatile frameworks for browser automation, assertions, and test management.
  • Advanced caching mechanism: Synpress caching system significantly reduces setup time by creating and reusing pre-configured browser profiles, leading to faster and more efficient testing.
  1. Future-proofing for Web3 evolution:
  • Wallet and chain agnostic design: It’s designed with a vision for the future, aiming to support multiple wallets and blockchains. This makes it adaptable to the constantly evolving Web3 ecosystem.
  • Focus on developer experience: Our team is committed to providing a great developer experience, with ongoing efforts to improve documentation, TypeScript support, and community engagement.
  1. Impact on dApp quality:
  • More secure dApps: It empowers developers to write more comprehensive tests, which helps to identify and fix usability and security vulnerabilities related to wallet interactions and blockchain transactions.
  • Improved user experience: Thorough testing with Synpress leads to more reliable and functional dApps, resulting in a better user experience for everyone interacting with dApps.

Provided metrics solidify Synpress position as a leading testing solution in the Web3 ecosystem.

Budget breakdown showing how the funds will be used, including specific milestones and deliverables:
It’s important to note that this budget is an estimation based on our funding goal. The allocation can be adjusted depending on the actual amount received. We prioritize flexibility to adapt to emerging opportunities and community needs.

I. Framework expansion (40% of funding received)

  • Milestone 1: Cypress integration:
    Enable developers to write Synpress tests using Cypress syntax and features.

    • Deliverables: Cypress-specific fixtures, command integration, comprehensive documentation, and examples.
  • Milestone 2: Additional framework support:
    Explore and integrate with other popular JavaScript e2e testing frameworks (e.g., webdriver.io) to broaden Synpress user base.

    • Deliverables: Proof-of-concept integrations, evaluation reports, and community feedback gathering.

II. Enhanced wallet interactions (30% of funding received)

  • Milestone 3: Unified wallet API:
    Create a consistent and developer-friendly API for interacting with different wallets.

    • Deliverables: WalletAPI interface definition, adaptation of existing wallet implementations, a wallet factory function, updated fixtures, and documentation.
  • Milestone 4: Expanded wallet support:
    Add support for more wallets (e.g., Coinbase Wallet, WalletConnect and others) and improve existing ones (e.g., Phantom, Keplr).

    • Deliverables: New wallet packages, test suites, and integration into the unified WalletAPI.

III. Improved developer experience (20% of funding received)

  • Milestone 5: Enhanced documentation and examples:
    Create more comprehensive, user-friendly documentation with practical examples and tutorials.

    • Deliverables: Overhauled documentation website, improved guides, and example projects.
  • Milestone 6: Advanced tooling and debugging:
    Develop tools for easier debugging, error reporting, and test visualization.

    • Deliverables: New debugging features, improved error reporting, and potential integrations with visual testing tools.

IV. Community building and growth (10% of funding received)

  • Milestone 7: Community engagement and outreach:
    Organize workshops, webinars, and online events to promote Synpress and foster a vibrant developer community.
    • Deliverables: Increased community engagement, more contributors, and active participation in relevant forums and conferences.

We understand that project needs may evolve. We are committed to using funds responsibly, maintaining transparency with our community, and adapting our roadmap based on feedback and emerging opportunities. Regular progress updates and open communication will be provided to ensure accountability.

Funding Goal, Budget, and Justification:

  1. Funding Goal:
    Our goal is to make Synpress a core component of the dApp development stack.

  2. Budget:
    Please refer to the budget breakdown provided above. This breakdown outlines our strategic allocation of funds across four key areas: framework expansion, enhanced wallet interactions, improved developer experience, and community growth.

  3. Justification:
    This funding is essential for us to meet the growing demand for a robust and specialized Web3 testing framework.

Here’s why this investment is crucial:

  • Addressing critical need:
    As the Web3 rapidly expands, the need for reliable dApp testing tools becomes increasingly urgent. Existing solutions often fall short in addressing the complexities of wallet integration and blockchain interactions.

  • Capitalizing on Synpress strengths:
    It already offers unique advantages over traditional testing frameworks, including its intuitive wallet-centric API, seamless Playwright integration, and innovative caching system. This funding will enable us to fully realize its potential.

  • Building foundation for the future:
    Synpress is designed to be adaptable and future-proof. This investment will support the expansion of wallet and blockchain support, ensuring it remains universal solution as the Web3 landscape evolves.

  • Delivering positive impact:
    By simplifying and accelerating dApp testing, Synpress contributes directly to:

  • Increased dApp security: Enabling developers to identify and fix vulnerabilities more effectively.
  • Enhanced dApp quality: Leading to more reliable and user-friendly decentralized applications.
  • More robust Web3 ecosystem: Fostering trust and driving wider adoption of decentralized technologies.

We are convinced that this funding will enable Synpress to empower Web3 developers, accelerate dApp development, and ultimately contribute to a more secure and innovative decentralized future.

Team:

  • Jakub: Project manager and core developer, active in Web3 since 2020, full-stack engineer at Nash, core contributor at Synthetix (GitHub profile, Twitter)
  • Mateusz: Core developer, active in Web3 since 2022, full-stack engineer at Spectra (GitHub profile)
  • Sero: Core developer, active in Web3 since 2022, full-stack engineer, contractor across various Web3 projects (GitHub profile, Twitter)

Project Impact Metrics:

  • Weekly downloads: Synpress currently averages 9,500 weekly downloads, a significant increase from its initial launch, demonstrating its rapid growth and adoption.
  • Repositories using synpress: Over 670 public repositories rely on Synpress for testing, indicating its integration into a wide array of Web3 projects.
  • Monthly views/clones: The Synpress repository receives around 7,000 views and clones per month, reflecting strong interest and exploration from developers.
  • Community contributions: Synpress has received over 500 contributions in the past year from the community, showcasing active engagement and shared ownership of the project.
  • Adoption by leading projects: High-profile projects across the Web3 ecosystem have chosen Synpress as their testing solution, including Optimism, Arbitrum, Octant, Snapshot, Guild.xyz… and many more!

Social Credibility:

Project Links:

Contact Information:

  • Discord: jakubsynthetix
  • Telegram: DRPTBL
  • Total Funds Received (Previous Round): 0$
  • Additional Funding Request: ~30k$-150k$

Plans for Next Epoch

  1. Framework expansion
  • Milestone 1:
    • Description: Cypress integration - Enable developers to write Synpress tests using Cypress syntax and features.
    • Expected Immediate Outcome: Cypress-specific fixtures, command integration, comprehensive documentation, and examples.
    • Funding Needed: ~40k$
  • Milestone 2:
    • Description: Additional framework support - Explore and integrate with other popular JavaScript e2e testing frameworks (e.g., webdriver.io) to broaden Synpress user base.
    • Expected Immediate Outcome: Proof-of-concept integrations, evaluation reports, and community feedback gathering.
    • Funding Needed: ~20k$
  1. Enhanced wallet interactions
  • Milestone 3:
    • Description: Unified wallet API - Create a consistent and developer-friendly API for interacting with different wallets.
    • Expected Immediate Outcome: WalletAPI interface definition, adaptation of existing wallet implementations, a wallet factory function, updated fixtures, and documentation.
    • Funding Needed: ~20k$
  • Milestone 4:
    • Description: Expanded wallet support - Add support for more wallets (e.g., Coinbase Wallet, WalletConnect and others) and improve existing ones (e.g., Phantom, Keplr).
    • Expected Immediate Outcome: New wallet packages, test suites, and integration into the unified WalletAPI.
    • Funding Needed: ~25k$
  1. Improved developer experience
  • Milestone 5:
    • Description: Enhanced documentation and examples - Create more comprehensive, user-friendly documentation with practical examples and tutorials.
    • Expected Immediate Outcome: Overhauled documentation website, improved guides, and example projects.
    • Funding Needed: ~15k$
  • Milestone 6:
    • Description: Advanced tooling and debugging - Develop tools for easier debugging, error reporting, and test visualization.
    • Expected Immediate Outcome: New debugging features, improved error reporting, and potential integrations with visual testing tools.
    • Funding Needed: ~15k$
  1. Community building and growth
  • Milestone 7:

    • Description: Community engagement and outreach - Organize workshops, webinars, and online events to promote Synpress and foster a vibrant developer community.
    • Expected Immediate Outcome: Increased community engagement, more contributors, and active participation in relevant forums and conferences.
    • Funding Needed: ~15k$
  • Karma GAP: https://gap.karmahq.xyz/project/synpress