我正在开发一个智能契约,它要求用户上传关于他们的NFT的特定信息。在上传有关NFT的信息之前,我需要验证它们是否是NFT的实际所有者。你能建议我怎么做吗?我看到我可以使用Opensea、炼金术等的API,但是我想知道在我的智能合同中是否可以直接使用它呢?
我需要这样的东西:
function approve(uint memory _id, address memory _contractAddress) external {
address owner = return Owner(_id, _contractAddress);
require (msg.sender = owner, "not the same owner");
}一个函数,它接受NFT协议地址和NFT id,并返回所有者地址。然后,我需要比较所有者地址是否等于msg.sender。如果它们相等,那么调用该函数的用户就是所有者,查询的NFT。
这有可能吗?还是我必须使用一些API?
我在Metamask钱包中看到了类似的功能,在导入NFT时,我们需要提供合同地址和令牌ID,以及lazy.com NFT跟踪器网站。
发布于 2022-07-05 07:40:49
您可以使用ownerOfERC721方法令牌契约。它以NFT id作为参数,并返回所有者的地址。
https://ethereum.stackexchange.com/questions/131192
复制相似问题