为了获得单个NFT的所有者,我们使用ownerOf(tokenId)
,但是我如何知道谁是整个集合的所有者(合同所有者),然后我可以验证他们是否能够在NFT市场上为他们的收集设置使用费。NFT这样的市场是如何做到这一点的?另外,如何在nft市场中获取新创建的集合?
发布于 2023-02-21 21:25:27
正如@Alexander Herranz所提到的,使用当前的ERC-721和ERC-1155标准是不可能在一个简单的请求中这样做的,您需要扫描整个区块链来识别部署事务。
此外,它们不会在部署时发出事件,因此需要搜索所有块,直到找到部署事务为止。
这是一个棘手的问题,因为部署持有集合( ERC-721或ERC-1155)的合同的帐户不一定是艺术品或收藏品的创建者。NFT版税的主要目的是奖励创作者的艺术价值。
因此,不同的市场采取不同的方法来实现这一目标:
有人会争辩说,ERC-2981标准是社会上最受欢迎的选择,也是应该长期保留的标准,因为它是标准。尽管如此,仍然存在向后兼容性的问题,因为许多NFT合同都不支持它,因此,集中式解决方案通常最适合它们。
类似于第一个问题,不可能仅仅用当前的ERC-721和ERC-1155标准来实现这一点,因为它们不会在部署时发出事件。
市场(如OpenSea )和块探索者(如Etherscan )在执行令牌传输时(第一个薄荷)和令牌具有元数据时标识一个新的NFT集合。
复制这一过程的一种方法是扫描区块链,查找Transfer
(ERC-721)、TransferSingle
和TransferBatch
(ERC-1155)事件,然后尝试访问它们的元数据。
发布于 2023-02-21 20:17:08
您可以在块资源管理器(如以太扫描 )中检查它。
例如,对于部署在以太的BoredApeYachtClub合同,创建者地址是: 0xaba7161a7fb69c88e16ed9f455ce62b791ee4d03
您可以在这里看到BoredApeYachtClub NFT合同的部署事务(4月22日-2021):https://etherscan.io/tx/0x22199329b0aa1aa68902a78e3b32ca327c872fab166c7a2838273de6ad383eba。
如果您正计划以编程方式执行此操作,则似乎不可能:如何获得合同部署人员的地址?
https://ethereum.stackexchange.com/questions/145351
复制相似问题