Skip to main content
Version: FireSquid

NFT indexer with batch state queries

The squid indexes Exosama NFT transfers on the Ethereum Mainnet by subscribing to the Transfer event logs. For each new batch, the processor detects the NFTs that have not yet been indexed and populates the metadata calling the contract state (see initTokens()). The contract state queries are batched using the Multicall contract and the Multicall facade class generated with sqd codegen. Note the --multicall flag in the codegen command defined in commands.json.

Prerequisites

Running

Clone the repo and navigate to the root folder.

sqd init my-new-squid --template https://github.com/subsquid-labs/multicall-example && cd my-new-squid
# or
git clone https://github.com/subsquid-labs/multicall-example && cd multicall-example

npm ci

# start the database
sqd up

# builds the project, starts a long-running ETL and blocks the terminal
sqd process

# starts the GraphQL API server at localhost:4350/graphql
sqd serve