ERC721关于NFT的学习和理解

本文探讨了ERC721协议在NFT领域的应用,指出ERC-721是NFT的基础,但仅包含基本的代币管理和交易功能。通常结合IERC721Enumerable和IERC721Metadata接口以提供元数据支持。文章解释了`approve()`和`transferFrom()`的作用,并讨论了铸币功能在ERC721标准中缺失的原因。建议使用OpenZeppelin库进行安全的ERC721合约开发,并提供了资源链接以深入理解NFT的创建和管理。
摘要由CSDN通过智能技术生成

ERC-721协议发行的货币是非同质化代币,以前搞ICO发的货币,是使用ERC-20发的区块链货币、同质化货币。
2.
ERC-721只是NFT稚嫩合约必须实现的最小接口,它包括代币管理、持有和交易功能。然而它并不包括代币元数据的相关内容,也缺少对一些实用的功能支持。也就是说,单纯的ERC-721上面只记录了一个TOKENID(NFT编号)的归属者,并不具体指明这个TOKENID所指向的物品是个什么东西,它的内容是什么,元数据是什么。一般的NFT合约都要加上其它功能。
因此常用的组合为:
ERC721标准+ IERC721Enumerable + IERC721Metadata,再加上自定义的mintable。

IERC721标准的合约方法:
balanceOf(): 返回由_owner 持有的NFTs的数量。

ownerOf(): 返回tokenId代币持有者的地址。

approve(): 授予地址_to具有_tokenId的控制权,方法成功后需触发Approval 事件。

setApprovalForAll(): 授予地址_operator具有所有NFTs的控制权,成功后需触发ApprovalForAll事件。

getApproved()、isApprovedForAll(): 用来查询授权。

safeTransferFrom(): 安全转移NFT所有权,一次成功的转移操作必须发起 Transer 事件。

transferFrom(): 用来转移NFTs, 方法成功后需触发Transfer事件。调用者自己确认_to地址能正常接收NFT,否则将丢失此NFT。此函数实现时需要检查上面条件的前4条。

approve()和 transferFrom()的意义是什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值