Javascript library for parsing nft metadata.
This parses data following a variety of standards and contracts. All contracts on https://zora.co/ are parsed using this library.
Add package:
yarn add @zoralabs/nft-metadata
Use in project:
import {Agent} from '@zoralabs/nft-metadata';
/* or const {Agent} = require('@zoralabs/nft-metadadata'); */
const parser = new Agent({
// Use ethers.js Networkish here: numbers (1/4) or strings (homestead/rinkeby) work here
network: 'homestead',
// RPC url to access blockchain with. Optional: will fallback to using cloudflare eth
networkUrl: RPC_URL,
// IPFS Gateway URL (optional, defaults to cloudflare)
ipfsGatewayUrl: IPFS_URL,
// Timeout: defaults to 40 seconds, recommended timeout is 60 seconds (in milliseconds)
timeout: 60 * 1000,
})
// Can use typical promises or async/await to get the return value of fetchMetadata
parser.fetchMetadata('0xb7F7F6C52F2e2fdb1963Eab30438024864c313F6', '23').then((data) => {
console.log(data);
})