IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> Solidity合约标准----ERC721 -> 正文阅读

[区块链]Solidity合约标准----ERC721

ERC721

非同质化token,它依赖于ERC-165

在这里插入图片描述
在这里插入图片描述

ERC721 快速体验

参照官方提供的案例,直接部署到remix,自动下载依赖 https://docs.openzeppelin.com/contracts/4.x/erc721

// contracts/GameItem.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";

// ERC721: 0x80ac58cd
//ERC165: 0x01ffc9a7
contract GameItem is ERC721URIStorage {
   //NFT 实质:  address==>tokenId
    using Counters for Counters.Counter;
    Counters.Counter private _tokenIds;

   //NFT name,NFT简写
    constructor() ERC721("ZhongYuanUniversity", "ZUT") {}

   //白名单 player---》你的地址  tokenURI---》URL
    function awardItem(address player, string memory tokenURI)
        public
        returns (uint256)
    {
        //获取当前的tokenID
        uint256 newItemId = _tokenIds.current();
        
        //铸造NFT  (地址---》数字tokenID)
        _mint(player, newItemId);
        //设置token相关信息
        _setTokenURI(newItemId, tokenURI);
        //tokenid自增,防止重复
        _tokenIds.increment();
        return newItemId;
    }
}

ERC721 功能体验

部署成功后拥有以下功能

在这里插入图片描述

ERC721 功能测试

1. 设置待测试的4个账户

在这里插入图片描述

2. 铸造NFT

在这里插入图片描述

3. 查询NFT数量

在这里插入图片描述

4. 依据tokenid查询NFT属主

在这里插入图片描述

5.部分NFT委托授权第三者

在这里插入图片描述

6.查询NFT是否已被授权

在这里插入图片描述

7.由第三者执行NFT转移

在这里插入图片描述

8.查询属主NFT数量,判断是否转移成功

在这里插入图片描述

9.将NFT全权委托第三者

在这里插入图片描述

10.查询是否委托成功

在这里插入图片描述

11.由第三者执行NFT安全转移

safeTransferFrom()实现安全转移功能,其本质是如果接收方的用户地址为合约地址,则必须实现IERC721Receiver-onERC721Received接口。
在这里插入图片描述

12.依据tokenid查询1号属主,判断是否转移成功

在这里插入图片描述

13.由第三者执行NFT安全转移,可以附加数据

在这里插入图片描述

14.查询原始数据所有者NFT数量

原始数据所有者已全部转移NFT

在这里插入图片描述

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:28:30  更:2022-07-17 16:28:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 2:59:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计