ERC721の情報を取得してみる
ERC721を取得するには次のようなコードで取得できます。
src/index.ts
import {createClient} from "@urql/core";
import fetch from 'cross-fetch';
import {Erc721sDocument, Erc721sQuery, Erc721sQueryVariables} from "./generated/graphql";
import 'dotenv/config';
const {GRAPHQL_ENDPOINT, GRAPHQL_API_KEY} = process.env;
if (!GRAPHQL_ENDPOINT) {
throw Error('GRAPHQL_ENDPOINT is not set');
}
if (!GRAPHQL_API_KEY) {
throw Error('GRAPHQL_API_KEY is not set');
}
const client = createClient({
url: GRAPHQL_ENDPOINT,
fetch,
requestPolicy: 'network-only',
fetchOptions: () => {
return { headers: { 'X-API-KEY': GRAPHQL_API_KEY } };
},
});
const fetchErc721 = async () => {
const results = await client.query<Erc721sQuery, Erc721sQueryVariables>(Erc721sDocument, {take: 10}).toPromise();
if (!results.data) {
throw Error(results?.error?.toString());
}
results.data.erc721s.forEach(erc721 => {
console.log(erc721.id);
console.log(erc721.name);
console.log(erc721.chainId);
console.log(erc721.address);
erc721.tokens.forEach((token) => {
console.log(token.tokenId);
console.log(token.metadata);
console.log(token.ownerAddress);
console.log(token.tokenUri);
})
})
}
const main = async () => {
await fetchErc721();
}
main().catch(console.error)
環境変数
.envに以下の内容を入れましょう。
GRAPHQL_ENDPOINT=<FILL ME>
GRAPHQL_API_KEY=<FILL ME>
実行
実行するには以下のコマンドを入力しましょう。
ts-node src/index.ts