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
- Node v16.x
- Docker
- Squid CLI
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