大佬们,知道如何获取链上所有的 nft 吗,我在做一个需求,需要获取所有的 nft ,保存到库中,想着用 ether.js 来用 filter 监听 transfer 事件
不限于某一个合约,不管是哪一个合约,只要是合约,但是只要产生 transfer 事件,都可以去监听,都可以收集起来,这样就得到了所有的 nft
如何实现?
谢谢。

大佬们,知道如何获取链上所有的 nft 吗,我在做一个需求,需要获取所有的 nft ,保存到库中,想着用 ether.js 来用 filter 监听 transfer 事件
不限于某一个合约,不管是哪一个合约,只要是合约,但是只要产生 transfer 事件,都可以去监听,都可以收集起来,这样就得到了所有的 nft
如何实现?
谢谢。
1 railsboy OP 也尝试了这种: https://docs.ethers.io/v5/api/providers/provider/#Provider-getBlockWithTransactions ,通过 block 来获取 transaction |
2 harrytse94 Sep 8, 2022 解析区块链上所有(直接读取所有区块的交易)的 contract create 交易 ( https://ethereum.stackexchange.com/questions/29573/how-do-i-determine-whether-the-transaction-is-used-for-the-contract-creation),然后解析该合约地址是否是 nft 合约,原理大概是调用一些 nft 的方法看看是否正确返回,可以看 https://www.google.com/search?q=How+to+detect+if+an+Ethereum+address+is+an+ERC721+token+contract%3F&oq=How+to+detect+if+an+Ethereum+address+is+an+ERC721+token+contract%3F&aqs=chrome..69i57.4560j0j4&sourceid=chrome&ie=UTF-8 更近一步的可以看看合约的事件是否符合 nft 的事件,如果还符合,大概率就是 nft 合约了 另外 debank 这类服务集成了大多数的 nft ,他们应该是有所有的 nft 列表的,可以看看 /问问他们有没有开放出来 |
3 railsboy OP @harrytse94 谢谢 |