我是一个前端的开发人员在隐秘的nft空间里弄湿了我的脚。
我建立了一个简单的站点来显示你钱包里所有的NFT。用户可以使用Rainbowkit (构建在WAGMI之上,也利用Ethers.js)连接到页面。连接之后,我可以获得钱包地址,并使用Alchemy获取其中的所有NFT。
现在,所有这些都完成了,我想添加一个Transfer按钮,这样用户就可以将他们拥有的NFts传输/发送到另一个地址。这样做的正确方法是什么?
以下是我学到的:因为NFT是ERC-721令牌,所以我可以安全地假设它们将具有可以调用的safeTransferFrom函数来发送NFT。所有NFTs ERC-721令牌吗?如果是的话,他们的合同中是否都有safeTransferFrom函数?如果有人在创建合同时将该功能从合同中删除了怎么办?
我对这些问题有点迷茫。如果能提供一点指导,我将不胜感激。感谢先进的!
发布于 2023-02-14 17:02:51
如果契约实现了ERC721,那么它将具有safeTransferFrom函数。有些特殊情况,如CryptoKitties,是在ERC-721标准存在之前部署的.但是并不是所有的NFT都是ERC721,您也有ERC1155,它现在非常流行。在这种情况下,safeTransferFrom的签名略有变化,添加了一个"amount“参数:
function safeTransferFrom(
address from,
address to,
uint256 id,
uint256 amount,
bytes calldata data
) external;要确定合同是ERC721还是ERC1155,可以在合同上使用supportsInterface函数。
发布于 2022-08-28 20:11:36
https://ethereum.stackexchange.com/questions/134519
复制相似问题