Skip to main content

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