证明Opensea上铸造的NFT系列的所有权



我正在尝试开发一个代币门控网站,用户需要连接他们的钱包并证明他们对NFT收藏的所有权。

通常,对于具有合同地址的NFT集合来说,这是相当简单的。我们可以简单地做:

const contract = await new ethers.Contract(contractAddress, abi, provider);  
const balance = await contract.balanceOf(walletAddress);

然而,在我的案例中,NFT集合是在Opensea上铸造的,地址是0x495f947276749Ce646f68AC8c248420045cb7b5e。这个地址下会有很多其他的收藏品。因此,我不确定是否有可能证明用户对Opensea上铸造的NFT系列的所有权。我已经阅读了Opensea API和Opensea SDK,但没有发现任何东西。

通过跟踪您想要的集合,一直到"薄荷";。话虽如此,考虑到Opensea使用懒惰铸造(即代币在第一次实际销售之前不会铸造(,这确实具有挑战性。

一个解决方案是跟踪所有NFT历史,直到第一笔交易,并确定实际传输NFT的地址。

这里有一个例子:

https://etherscan.io/tx/0xc4d8ec0d8a841ec68ee1b83dbca127a6b5fcb42fffc2d478d8863733ce28e310

这是该特定NFT的第一笔交易。传输NFT的地址(0x55c8423f6247be9a523effa5423f68oc277206e(实际上是集合的创建者/所有者。

你也可以在这里看到完整的历史:

https://openstory.io/nfts/0x495f947276749ce646f68ac8c248420045cb7b5e/0x55c8423f6247be9a523effa5423f680c2777206e000000000000390000000001

相关内容

  • 没有找到相关文章

最新更新