Abstract
This proposal aims to develop a lightweight Hardhat plugin that simulates Wormhole cross-chain messaging locally, enabling developers to test cross-chain flows in JavaScript/TypeScript environments without relying on Tilt or manual CLI scripting. The outcome will be a fully automated, developer-friendly plugin that boosts test coverage, speeds development, and increases reliability for dApps building with Wormhole.
Motivation
JavaScript is the most-used programming language, with 61% of developers using it in 2024 (JetBrains). It has ranked first in Stack Overflow’s most-used languages list for over a decade (Stack Overflow 2023).
Hardhat is the leading framework for JavaScript-based smart contract development, with over 830,000 downloads per week (npm). But developers using Hardhat with Wormhole lack native tooling for testing cross-chain flows.
The official Wormhole Tilt devnet requires 4 CPU cores, 16 GB of RAM, and Docker with Kubernetes configured. Booting the environment can take 15 to 25 minutes depending on system specs and internet connection (Wormhole Tilt Devnet). This setup is too heavy for most CI pipelines and slows local development.
Pigeon, the only available cross-chain simulator, supports only the Foundry framework (Pigeon GitHub). Hardhat developers must manually run worm generate and worm submit to simulate messages, which is error-prone. Common issues include incorrect VAA formatting or message replay errors (Example GitHub Issue).
A mis-relayed VAA can block asset transfers or stall cross-chain protocols that rely on timely message delivery, including token bridging and DAO execution. The Hardhat Cross-Chain Simulator Plugin replaces this workflow with one helper call: await relayVAA(tx)
. It captures emitted events, signs a mock VAA using the Wormhole SDK , and delivers it locally to the target chain. This removes the need for Docker, Kubernetes, and CLI scripts, giving Hardhat developers fast and reliable cross-chain testing out of the box.
Rationale
This initiative directly supports Wormhole’s broader mission to expand cross-chain interoperability by:
- Empowering developers to build confidently with faster iteration loops
- Reducing developer friction and technical barriers in JavaScript-heavy environments
- Enabling open-source, community-led tooling that multiplies the value of existing SDKs and CLI infrastructure
- Demonstrating responsible use of funds via a scoped, maintainable, high-utility tool
Proposed Activities & Goals
Milestone (Activity) | Outcome |
---|---|
Build Hardhat plugin for local cross-chain simulation | Allow end-to-end tests of cross-chain messaging with no Tilt or manual CLI steps for the developer |
Integrate CLI/SDK logic under the hood | Reuse existing tooling, ensure version compatibility |
Develop example tests and demos | Provide ready-made use cases for projects and hackathons |
Publish on npm and GitHub | Promote discoverability and adoption |
Steps to Implement:
Technical Architecture
- Your test calls
sendMessage()
on a source contract; Wormhole’s core bridge emitsLogMessagePublished
. - The Hardhat-Wormhole plugin catches that event, uses the Wormhole TypeScript SDK to build a VAA signed with a mock guardian key, and (if needed) falls back to the
worm generate
CLI. - The plugin then submits that VAA to the target network, invoking your receiver contract’s standard
receiveWormholeMessages
method. - Mocha/Chai assertions run once the VAA is processed, letting you confirm state changes, all without Tilt, external relayers, or manual CLI steps.
Project Impact & Measurement
KPIs:
- ≥100 npm installs in 3 months post-release
- ≥10 open-source repos using the plugin publicly
- ≥5 dApp teams integrate plugin into CI pipelines
- Time-to-debug cross-chain flows reduced by 50–80% based on user feedback
Reporting:
- Project updates published at milestones (monthly)
- Usage metrics shared publicly (GitHub activity, downloads, adoption examples)
Timeline:
Milestone | Deliverables | Target Date |
---|---|---|
1. Architecture & Scaffold (2 wks) | Repo skeleton, Hardhat plugin entry-point, multi-network config template, detailed technical spec | 31 Jul 2025 |
2. Core Plugin Logic (4 wks) | Event listener for LogMessagePublished , SDK-based VAA builder, mock-guardian signing, unit tests |
30 Aug 2025 |
3. Relay Helper + Examples (3 wks) | relayVAA() helper, receiver contract integration, full E2E test suite, sample spec file |
20 Sep 2025 |
4. Docs & Release (2 wks) | README, API docs, quick-start guide, npm & GitHub release, community announcement | 04 Oct 2025 |
Post-Launch Review (1 wk) | Usage metrics, bug triage list, roadmap update | 11 Oct 2025 |
Maintenance Window (6 mo) | Patch releases for SDK/CLI changes and community-reported issues | Oct – Mar 2026 |
Overall Cost / Budget
Activity | Scope / Outputs | Cost |
---|---|---|
Code Scaffold & Spec | repo setup, multi-network config scripts, detailed tech spec | $2 500 |
Core Feature Development | event listener, SDK-based VAA builder, mock-guardian signing logic, unit tests | $8 500 |
Relay Helper & Example Tests | relayVAA() API, receiver-contract wiring, full end-to-end test suite |
$5 500 |
Documentation & DevRel | README, API docs, quick-start guide, tutorial video, launch blog post | $2 500 |
CI + QA Automation | GitHub Actions matrix, linting, coverage, release pipeline | $2 000 |
Maintenance Buffer (6 months) | bug fixes, SDK/CLI version bumps, community PR reviews, support through March 2026 | $6 000 |
Total | $27 000 |
Source of funds: Foundation grant
About the Team – Dapps Over Apps
Dapps Over Apps is a collective focused on advancing Web3 through developer tooling, education, and ecosystem enablement. We create open-source tools that improve the developer experience and lead initiatives that onboard and empower new builders across blockchain ecosystems.
Our work spans:
- Developer tooling contributions to Arbitrum, Filecoin, Polkadot, StarkNet, Solana, and Bitcoin-DeFi integrations
- Cross-chain educational resources and validator guides
- Hackathons, workshops, and technical onboarding events in Canada, Africa, and global Web3 communities
Abdulkareem Oyeneye – Project Lead
Experienced developer marketer and technical program lead with a strong track record in Web3 growth and infrastructure tooling. Led multiple ecosystem projects and specializes in identifying developer needs and delivering scalable product solutions.
LinkedIn
Gospel Ifeadi – Smart Contract Engineer
Proficient in Rust, C++, JavaScript, and Python. Brings deep experience across smart contract development, backend engineering, and blockchain R&D.
Twitter
Emmanuel Charles – Blockchain Developer & QA Engineer
Expert in Rust, TypeScript, and C++, focused on secure smart contract development and blockchain system testing.
LinkedIn
Bolaji Ahmad – Full Stack Engineer
Full stack and infrastructure engineer with contributions to foundational tooling in the Polkadot ecosystem. Skilled in backend systems and Web3 interfaces.
LinkedIn
Musa Abdulkareem – Blockchain Engineer
Focused on building robust tooling and SDKs for protocol-level integrations. Supports multi-chain engineering efforts.
LinkedIn