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 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> NFT元宇宙链游系统模式开发方案分析 -> 正文阅读

[区块链]NFT元宇宙链游系统模式开发方案分析

从上半年的NFT元宇宙,再到Axie链游的火爆,你知道Axie早期进入的这个玩家最高赚了多少倍吗?以至于呢,到现在的这个风口,想Raca元素,包括赛博之龙,不仅能在游戏中体验这个游戏的乐趣,还可以在游戏中赚钱。

NFT智能合约可以基于不同的公链开发,它不局限于任何一条公链。不同公链的智能合约方案实现也不同,下面以以太坊公链举例说明。

?在以太坊上面,开发NFT智能合约,已经有很多标准,比如ERC-7211155998,各有各的特点,但它们的特点是在基础属性上拓展而来的。

?

?如果选择ERC-721标准开发NFT智能合约,在元数据存储部分,就有tokenUrl这项,它相当于物质的唯一id,像下面的样子,_tokenURIs存储的就是通证当前计数id与其对应的tokenUrl,这里的tokenUrl是字符串格式,一般是文件url,存储在IPFS或其他服务上面的文件的链接,但不局限于链接,也可以是其它的内容。

?//伪代码

?contract MyERC721 is IERC721Metadata,...{

?...

?mapping(uint256=>address)private _tokenOwner;

?mapping(uint256=>string)private _tokenURIs;

?uint256 public tokenCounter;//计数,当前总的NFT的数量,累增

?constructor()public ERC721("name","symbol"){

?tokenCounter=0;

?}

?//外部调用方,调用这个函数,传参数:tokenURI即物质的id,tokenURI唯一

?function createNFT(string memory tokenURI)public returns(uint256){

?uint256 tokenId=tokenCounter;

?_mint(msg.sender,tokenId);//将交易发送者和当前的tokenId绑定

?_setTokenURI(tokenId,tokenURI);//tokenId映射到tokenUrl

?tokenCounter=tokenCounter+1;//累加

?return tokenId;

?}

?//_exists函数判断tokenId是否存在,_tokenOwner[tokenId]

?//根据id读取对应的url

?function tokenURI(uint256 tokenId)external view returns(string memory){

?require(_exists(tokenId));

?return _tokenURIs[tokenId];

?}

?//根据tokenId和url建立map数据关系

?function _setTokenURI(uint256 tokenId,string memory uri)internal{

?require(_exists(tokenId));//_exists

?_tokenURIs[tokenId]=uri;

?}

?...//省略系列接口,包含读接口

?}

?上面的tokenUrl是标准要求的存储数据项。整个合约具备下面约束功能:

?NFT持有者,即msg.sender(owner)和tokenId一对多关系,代表一个人可以拥有多个NFT;

?tokenId和tokenUrl一对一关系,代表每份数据一个链上的唯一id,同时tokenUrl没要求是唯一,但在调用方,一般会把tokenUrl设置唯一,即使不唯一也没关系,冲突的时候,tokenId越小的,其当初被设置的时间就越早;

?NFT持有者在将数据写入链上后,能够获取NFT的链上唯一id,后续可以根据id进行系列的读写操作。

?一般来说,我们常规的NFT有一个和数据建立关系的项就足够了,但并不局限于此,合约在实现了标准要求的接口后,完全可以自己添加自定义数据项及其读写函数。

?

?第三步:展示与修改

?展示NFT内容

?所谓展示,就是对NFT的数据进行读取再展示。一般的流程如下:

?根据当初设置NFT数据到链上时获得的id去智能合约读取信息;

?将获得的信息通过某介质应用还原出原始的NFT数据。

?比如将图片NFT展示出。(借助上面的721合约标准和IPFS结合为例)

?假设调用合约存储数据时候得到的tokenId是3,那么使用这个tokenId去调用合约的读数据方法;

?执行完1步骤,可以得到tokenUrl,即文件存储在IPFS中所得到的链接;

?直接将tokenUrl链接在浏览器打开,看到图片。

?修改NFT内容

?修改是一项NFT智能合约的拓展功能,可有可无,具体是怎样的方式,完全看需求的实现。比如:

?允许重置tokenId所对应的内容;

?在NFT原数据中增加其他字段内容,再允许修改这些字段;

?转让NFT,可以把某tokenId对应的NFT信息转让给其他owner,达到转让目的;

?出售NFT、拍卖NFT等操作....

?所有权共识

?目前NFT,非同质化通证。本质是想借助区块链的属性来标示一种资产的所有权证明。

?比如曾拍卖出6000多万美金的数字作品(图片)《Everydays:The First 5000 Days》,中标者能获得原图和该图的NFT。这两样东西,一样是实质的作品,一样是它的所有权者的证明。

?我们假设下,如果持有某作品的人,是一位匿名者A,过了多年后,该作品本身不小心被盗并被找回。那么如何证明A是真正的拥有者,此时A只需要展示他对该作品的NFT拥有权,就可以证明。

?那么NFT是不是类似于我们现实中的证书?不全是,分两点:

?NFT和证书都能证明某资产的所有权;

?对比的存储介质与永恒时效:

?证书可能要找个保险柜保养放着,但它终究占据一方土地,仅受一方土地容纳的保险柜保证安全,在时过境迁的影响下,持续性存储下去的时间会较短;

?NFT存储在区块链上,受整个互联网的链节点所保护。它能够存活到整个链网络垮掉那天,对于节点数量众多的公链来说,这个概率几乎等同于互联网终结那天。????

那链游呢,它不同于这个传统的这个游戏。那由于这个区块链呢,虚拟币的上涨,还有下跌的因素啊,导致可能能给玩家带来很高的一个收益。于是呢,就越来越多的人呢,就开始关注链游。现在想在链游里挣钱啊,那就得能了解什么是NFT,什么是元宇宙,NFT就相当于是现实世界里的这个古董,名人字画之类的,每个人都有一个哈希值,就相当于这个你的身份证号码一样的,独一无二的。如果你选择NFT呢,有认可度,那么它就值钱,也就是独一无二的。那NFT呢,也相当于在互联网上的一个古董,在区块链上呢,有唯一的合约地址,那所以NFT加游戏的就是链游

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:47:25  更:2022-10-08 20:47:39 
 
开发: 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年11日历 -2024/11/25 21:21:52-

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