project screenshot 1
project screenshot 2
project screenshot 3

HashHunter.xyz

HashHunter is a chain agnostic block explorer. Hunt hashes. Search streams. All in one easy explorer.

HashHunter.xyz

Created At

ETHMexico

Winner of

🥈 Gnosis Chain — Best Use

🌐 Polygon — Open Track

📈 The Graph — 🥈 Best Use of Existing Subgraph

Project Description

HashHunter enables users to search an array of transaction hashes in one simple place. Instead of bouncing between EtherScan, PolygonScan, MinaScan, etc. users can bring any hash (that we support) to our block explorer to discover data related to it. HashHunter alleviates the headache and time-sink of bouncing between scanners.

In addition to transactions we allow users to search a Superfluid stream by ID on all of Superfluid's supported networks.

How it's Made

The base of our application is standard ReactJS. The implementation for retrieving transactions/streams differs per protocol. Arbitrum, Ethereum, Optimism, and Polygon transactions are looked up using Alchemy's SDK.

For Gnosis transactions we use a standard fetch call to a REST API endpoint.

For Mina we use subgraph queries. For these, we construct a query and pass the "jsonified" GQL query as the data.

All Superfluid streams are retrieved using GQL queries.

App flow:

  1. Receive state value (either "Stream" or "Transaction" from switcher button value) and render search box placeholder text and button text accordingly.
  2. Send value of text box to a handler function that passes the text box value to the appropriate function. (findStream for streams and findHash for transactions)
  3. We "await" the above function and show/hide the loading message while we wait for the promise to resolve.
  4. If we retrieved a transaction, we pass the returned JSON object to the component that renders the transaction table.
  5. If we retrieved a stream, we pass the returned JSON object to the component that renders the stream table.
background image mobile

Join the mailing list

Get the latest news and updates