V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
railsboy
V2EX  ›  区块链

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

  •  
  •   railsboy · Sep 8, 2022 · 2080 views
    This topic created in 1333 days ago, the information mentioned may be changed or developed.

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

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

    如何实现?

    谢谢。

    3 replies    2022-09-09 10:31:21 +08:00
    railsboy
        1
    railsboy  
    OP
       Sep 8, 2022
    也尝试了这种: https://docs.ethers.io/v5/api/providers/provider/#Provider-getBlockWithTransactions ,通过 block 来获取 transaction
    harrytse94
        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 列表的,可以看看 /问问他们有没有开放出来
    railsboy
        3
    railsboy  
    OP
       Sep 9, 2022
    @harrytse94 谢谢🙏
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2482 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:03 · PVG 20:03 · LAX 05:03 · JFK 08:03
    ♥ Do have faith in what you're doing.