Today, LimeChain is proud to announce the launch of Matchstick, an open-source subgraph unit testing framework designed to help teams harness the power of one of the most exciting blockchain projects today – The Graph.
The Graph is the indexing and query layer of the decentralized web. Developers build and publish open APIs, called subgraphs, that applications can query using GraphQL. The Graph currently supports indexing data from Ethereum, IPFS, and PoA with more networks continuously being added. To date, over 18,000 subgraphs have been deployed by ~20,000 developers for applications, such as Uniswap, Synthetix, Aragon, Gnosis, Balancer, Livepeer, DAOstack, AAVE, Decentraland, and many others.
At LimeChain, we firmly believe that The Graph is poised to become one of the pillars of the decentralized web. That belief was what motivated us to start looking for ways to help developers make the most of The Graph’s technology. As a company with considerable experience in blockchain development, we know that testing is a crucial part of the development process, but can also cause significant production bottlenecks if there are no readily available testing tools. This is why we set out to make sure that projects have a robust tool for testing subgraphs at their disposal.
Matchstick allows developers to use The Graph to test their mapping logic against a known store state and against test fixtures (events). It’s written in Rust and optimized for high performance. The framework comes with a number of highly requested features, giving developers the ability to mock contract calls, make assertions about the store state and subgraph failure, monitor test speed, and others. Check out the project’s GitHub repository and the tutorial article for further details.
The fact that there are more than 18,000 subgraphs already built by the community is a testament to the utility The Graph brings to the Web 3 community and the rapidly growing DeFi space. We believe that the launch of the Subgraph Unit Testing Framework will help that utility to be fully realized.