大佬们,知道如何获取链上所有的 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 2022-09-08 17:34:29 +08:00
解析区块链上所有(直接读取所有区块的交易)的 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 谢谢🙏
|