ERC721 内置函数 -- 当手册备查
Posted zmy2022
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ERC721 内置函数 -- 当手册备查相关的知识,希望对你有一定的参考价值。
ERC721BasicToken:
uint256 uiTokenCount = balanceOf( 某人地址 ); // 获得某人拥有多少物品。
address addr = ownerOf( ui256TokenID ); // 某个使用权归谁所有。
bool b = exists( ui256TokenID ); // 某个tokenID是否存在
void approve( 某人地址 , ui256TokenID ); // 调用者授权某人可以操作自己的 ui256TokenID
address addr = getApproved( ui256TokenID ); // 检查某个 ui256TokenID 当前归谁代为操作。
void setApprovalForAll( 某人地址 , 是否允许 ); // 调用者允许/不允许某人全权操作自己所拥有的所有物品。
bool b = isApprovedForAll( 某个拥有者,某人地址 ); // 检测某个拥有者是否已经全权授权某人地址来操作他所有物品。
void transferFrom( 张三地址,李四地址,ui256TokenID ); // 张三将物品ui256TokenID转移给李四。
void safeTransferFrom( 张三地址,李四地址,ui256TokenID[ , 一段bytes ] ); // 对方地址必须是一个合约地址(不能是人),而且该合约地址还必须实现 onERC721Received 函数,而且该函数还要返回 ERC721_RECEIVED 写死的返回值。否则该转账无效。
-- - 私有函数: void _mint( 某人地址,ui256TokenID ); // 给某人新分配一个物品 ui256TokenID。(新产生物品)
-- - 私有函数: void _burn( 某人地址 , ui256TokenID ); // 从某人手中删除物品。
-- - 私有函数: void clearApproval( 某人地址 , ui256TokenID ); // 清除某个人对某物品的授权。
-- - 私有函数: addTokenTo 与 _mint 几乎相同(请使用 _mint)
-- - 私有函数 : removeTokenFrom 与 _burn 几乎相同(请使用 _burn)
--------以下是子类函数(子类增加很多map,小心gas消耗)----
ERC721Token:
string str = name( ); // 获取代币名字(可以中文utf8)
string str = symbol( ); // 获取代币在交易所里的代号(不超过12字节英文+数字)
string str = tokenURI( ui256TokenID ); // 获取某物品对应的URI(任意自定义说明)
uint256 uiID = tokenOfOwnerByIndex( 某人地址 , 下标 ); // 取出某人手中第“下标”个物品。下标从0开始计。必须 < balanceOf(addrOwner)。
uint256 uiCount = totalSupply( ); // 获取物品总数
uint256 uiID = tokenByIndex( 下标 ); // 获取某个下标的物品, 下标 >= 0 && < totalSupply();
-- - 私有函数: void _setTokenURI( ui256TokenID , strURI ); // 给某个物品关联一个自定义字符串
以上是关于ERC721 内置函数 -- 当手册备查的主要内容,如果未能解决你的问题,请参考以下文章
Solidity知识点集 — ERC721代币标准详解(十)