其他分享
首页 > 其他分享> > ERC721 内置函数 -- 当手册备查

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 ); // 给某个物品关联一个自定义字符串

标签:--,void,ui256TokenID,地址,ERC721,某人,备查,物品
来源: https://www.cnblogs.com/zmy2022/p/15862489.html