finds.dev← search

// the find

LimeChain/matchstick

★ 216 · Rust · MIT · updated Apr 2024

🔥 Unit testing framework for Subgraph development on The Graph protocol. ⚙️

Matchstick is a unit testing framework for The Graph protocol subgraphs, letting you test AssemblyScript mapping logic against mocked host functions without deploying. It's written in Rust and wraps compiled WASM modules, acting as a stand-in for graph-node's host environment. Primarily useful for subgraph developers who want to catch bugs in event handlers before a slow deploy cycle.

- Fills a real gap: before this, testing subgraph mappings meant deploying and running against a live network or local graph-node, which is slow and painful

- Integrated into the graph-cli workflow via `graph test`, so adoption friction is low for existing Graph projects

- Provides both binary releases (auto-downloaded) and Docker paths, and CI/CD workflows for macOS Intel, macOS M1, and Linux are all present in the repo

- The Rust-as-WASM-host architecture is technically sound — it mirrors how graph-node actually executes mappings, so mocked behavior is closer to production than a pure JS mock would be

- Last pushed April 2024, and the project board links in the README are dead — signs of low or stalled maintenance that matter given The Graph ecosystem keeps evolving

- Hard dependency on a local PostgreSQL installation just to run unit tests is heavyweight and surprising; most devs expect unit tests to have zero external service dependencies

- No Windows native binary, only WSL, and the WSL section of the README reads like a troubleshooting thread rather than a supported path

- Test coverage feature and mocking API live in the separate matchstick-as AssemblyScript library, so bugs or gaps in host function mocking require coordinating changes across two repos, and the companion library has similarly low activity

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →