这里介绍怎么给一个地址去获取这个地址在某个链上所有的721,1155NFT资产
一、Alchemy
强大的 web3 开发工具集,可轻松构建和扩展 dApp。Alchemy文档官网
二、Github
可以直接看我的Github,主要是用webpack打包,都已经配置好。看Github的ReadMe。
如果你用Vue-cli和React也可以。
Github-Alchemy_getNftsForOwner
三、使用步骤
1.下载Alchemy的SDK
npm install alchemy-sdk -s
// Setup: npm install alchemy-sdk
import { Alchemy, Network } from "alchemy-sdk";
const config = {
apiKey: "写你自己的apikey",
network: Network.ETH_MAINNET,
};
const alchemy = new Alchemy(config);
console.log('alchemy',alchemy)
var pageKeyTemp ;
const main = async () => {
// Contract address
console.log('test')
const address = "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D";
// Flag to omit metadata
const omitMetadata = false;
// Get all NFTs
//console.log('可以任意指定,但是最多都是100,100一次,官方后端做了分片处理。
//可以while循环做,这里我做了demo,请求500个。但是官网没给这一块代码示例,我自己写了一下,利用pagekey')
for (var i=0; i<5; i++)
{
const response = await alchemy.nft.getNftsForContract(address, {
omitMetadata: omitMetadata,
pageKey: pageKeyTemp
});
pageKeyTemp = response.pageKey
// console.log(JSON.stringify(response, null, 2));
console.log(response.pageKey)
console.log(response)
}
};
const runMain = async () => {
try {
await main();
process.exit(0);
} catch (error) {
console.log(error);
process.exit(1);
}
};
runMain();
2.注册ApiKey
创建APP,填写你这个项目的名字,然后选择网络和链
import { Alchemy, Network } from "alchemy-sdk";
const config = {
apiKey: "写你自己的apikey",
network: Network.ETH_MAINNET,
};
const alchemy = new Alchemy(config);
这里是效果,ERC721还是1155,解析对应的合约地址,metadata所对应的json及每一个json格式的键值对,例如属性,external_url,name,image等,很方便。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。