ERC-721(Non-Fungible Token,NFT)标准
基本原理
ERC-20属于同质化代币,比如 你的 1 USDT
和 `我的 1 USDT`` 本质上是一样的价值
应用场景
数字艺术品
: 艺术家可以将其作品转换为ERC-721代币,并通过智能合约确保其数字版权。游戏物品
: 游戏开发者可以使用ERC-721创建游戏中的唯一道具、角色或地图,玩家可以拥有、交易或出售这些物品。比如:加密猫房地产和虚拟现实
: 开发者可以利用ERC-721创建虚拟地产,如数字土地或建筑,从而在虚拟现实世界中实现所有权和交易。
目前来看,游戏物品
是最有发展潜力的。数字艺术品
和房地产和虚拟现实
一般需要公证机构的参与,所以有其局限性。
定义的规则
function balanceOf(address _owner) external view returns (uint256); // 拥有几个NFT
function ownerOf(uint256 _tokenId) external view returns (address); // 谁拥有当前NFT(_tokenId)
function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable; // 转移NFT
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; // 转移NFT
function transferFrom(address _from, address _to, uint256 _tokenId) external payable; // 转移NFT
function approve(address _approved, uint256 _tokenId) external payable; // 将自己的NFT授权给_approved,其可以执行转移操作
function setApprovalForAll(address _operator, bool _approved) external; // 授权_approved可以转移自己所有此合约的NFT
function getApproved(uint256 _tokenId) external view returns (address); // 检查某个NFT的转移权限
function isApprovedForAll(address _owner, address _operator) external view returns (bool); // 检查_operator是否有_owner的NFT的转移权限