如何把链上所有的 nft 保存到库中?

2022-09-08 15:02:01 +08:00
 railsboy

大佬们,知道如何获取链上所有的 nft 吗,我在做一个需求,需要获取所有的 nft ,保存到库中,想着用 ether.js 来用 filter 监听 transfer 事件

不限于某一个合约,不管是哪一个合约,只要是合约,但是只要产生 transfer 事件,都可以去监听,都可以收集起来,这样就得到了所有的 nft

如何实现?

谢谢。

975 次点击
所在节点    区块链
3 条回复
railsboy
2022-09-08 15:15:10 +08:00
也尝试了这种: https://docs.ethers.io/v5/api/providers/provider/#Provider-getBlockWithTransactions ,通过 block 来获取 transaction
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 列表的,可以看看 /问问他们有没有开放出来
railsboy
2022-09-09 10:31:21 +08:00
@harrytse94 谢谢🙏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/878637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX