Skip to main content

Indexers

The Movement Indexer is a GraphQL API you can use to retrive Aggregate data, Historical data, and Data that might be hard to get from the simpler FullNode API.

ServiceURL
API Explorerhttps://indexer.testnet.suzuka.movementlabs.xyz/console/api/api-explorer
GraphQl Endpointhttps://indexer.testnet.suzuka.movementlabs.xyz/v1/graphql

Example Queries

(Coming Soon)

Architecture

There are three main components to indexing with the Movement Network. We first have the Suzuka full node which provides a gRPC stream of transactions. The gRPC stream of transactions is consumed by the Transaction Streaming Service which includes the following components:

  • Cache Worker: Pulls transactions from the node and stores them in Redis.

  • File Store: Fetches transactions from Redis and stores them in a filesystem.

  • Indexer API: Consumes the data-service providing a GraphQL API to dApps and other clients wishing to query the network.

The Indexer API also allows the development of customized processors.

Running the Transaction Streaming Service

The following guides from Aptos are provided: Aptos Documentation

Indexing Suzuka - Future Plans

Movement Labs plans to provide a hosted Transaction Stream Service in the near future. In the meantime, anyone wishing to index the Movement network would need to self-host their own Transaction Streaming Service.

Providing a GraphQL API

With the Data Service running, the Indexer API can be configured to consume it as per the following repository to provide a GraphQL API to downstream clients:

Data Service: Serves transactions via a gRPC stream to downstream clients. It pulls from either the cache or the file store depending on the age of the transaction.