Get Trending Fan Tokens
In this tutorial, you will learn how to get all-time trending fan tokens sorted by the number of fan token buy volume by calling the Moxie Protocol Subgraph API.
Pre-requisites
Install dependenciesgraphql
and graphql-request
to your project :- npm
- yarn
- pnpm
- bun
npm install graphql graphql-request
yarn add graphql graphql-request
pnpm add graphql graphql-request
bun install graphql graphql graphql-request
Step 1: Add The API Query To Your Code
To get all-time trending fan tokens sorted by the number of fan token buy volume, you can use the following query:
- Query
- Response
query MyQuery {
subjectTokens(orderBy: buySideVolume, orderDirection: desc) {
buySideVolume
currentPriceInMoxie
currentPriceInWeiInMoxie
address: id
name
symbol
decimals
createdAtBlockInfo {
id
}
}
}
{
"data": {
"subjectTokens": [
{
"buySideVolume": "563062459174562961980060",
"currentPriceInMoxie": "25.0558059346061332666",
"currentPriceInWeiInMoxie": "25055805934606133266.6",
"address": "0xb4d00a5bfea5ec43c062f7eb046b923240cefa76",
"name": "nickcherry",
"symbol": "fid:145",
"decimals": "18",
"createdAtBlockInfo": {
"id": "12954031"
}
}
]
}
}
graphql-request
library:- TypeScript
- JavaScript
index.ts
import { gql, GraphQLClient } from "graphql-request";
const graphQLClient = new GraphQLClient(
"https://api.studio.thegraph.com/query/23537/moxie_protocol_stats_mainnet/version/latest"
);
const query = gql`
query MyQuery {
subjectTokens(orderBy: buySideVolume, orderDirection: desc) {
buySideVolume
currentPriceInMoxie
currentPriceInWeiInMoxie
address: id
name
symbol
decimals
createdAtBlockInfo {
id
}
}
}
`;
try {
const data = await graphQLClient.request(query);
console.log(data);
} catch (e) {
throw new Error(e);
}
index.js
const { gql, GraphQLClient } = require("graphql-request");
const graphQLClient = new GraphQLClient(
"https://api.studio.thegraph.com/query/23537/moxie_protocol_stats_mainnet/version/latest"
);
const query = gql`
query MyQuery {
subjectTokens(orderBy: buySideVolume, orderDirection: desc) {
buySideVolume
currentPriceInMoxie
currentPriceInWeiInMoxie
address: id
name
symbol
decimals
createdAtBlockInfo {
id
}
}
}
`;
try {
const data = await graphQLClient.request(query);
console.log(data);
} catch (e) {
throw new Error(e);
}
Step 2: Execute Your Code
Once you have your code ready, you can execute it by running the following command:
- TypeScript
- JavaScript
ts-node index.ts
node index.js
If it runs successfully, you should see the data returned in the terminal:
{
"data": {
"subjectTokens": [
{
"buySideVolume": "563062459174562961980060",
"currentPriceInMoxie": "25.0558059346061332666",
"currentPriceInWeiInMoxie": "25055805934606133266.6",
"address": "0xb4d00a5bfea5ec43c062f7eb046b923240cefa76",
"name": "nickcherry",
"symbol": "fid:145",
"decimals": "18",
"createdAtBlockInfo": {
"id": "12954031"
}
}
]
}
}
Congrats! 🥳🎉 You've just fetched all-time trending fan tokens on the Moxie protocol!
Developer Support
If you have any questions or need help with other use cases, feel free to join the /airstack Warpcast channel and ask your questions there.
Our team is always ready to help you with any questions you may have.