前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NFT卡牌游戏系统开发链游Dapp

NFT卡牌游戏系统开发链游Dapp

原创
作者头像
T13Z4z77z558
发布2022-07-20 15:18:51
4420
发布2022-07-20 15:18:51
举报
文章被收录于专栏:NFT技术NFT技术

  NFT的非同质令牌不同于比特币的“同质令牌”。每个NFT代表一个不同的对象,所以它不能交换,替换或切割。当创作者将一件NFT作品“投”在区块链上,就会发生一定数量的代币来证明其稀缺性。

  第一步:制作id

  制作id,这是把物质制作成NFT的第一步。物质有哪些?一段文字、一张图片,一件衣服等,夸张的说,现实世界的物质,无论是虚拟的(游戏装备)或实质物质,都可以被通证化。

  如何操作?

  通过第三方技术手段获取物质的唯一标志性中间产物。

  因此制作NFT第一步,广义于下面等式:

  id=F(I)

  I=输入的物质

  F=处理函数,代表一种方法

  id唯一标志性的中间产物

  最简单的例子就是哈希函数,不考虑哈希碰撞,它就可以根据不同的内容输出不同的哈希值。思维在这里不要局限于哈希函数。

  获取图片的唯一id

  这里用图片代表一系列的文件类数据。

  我们可以将图片转换成[]byte字节数组,然后计算其哈希值。这种操作虽然比较简单,但是图片别人却不能访问,看不到;

  如果我们想向外部任何人提供图片的读权限,在计算完id后,有两种做法:

  上传图片到文件服务器,任何人可以通过url链接访问。这里的服务器是中心化的;

  增加区块链属性。上传文件到IPFS(ipfs是什么,自行搜索),如此一来,文件别人能访问,同时还具备了区块链的去中心化等属性。其中IPFS会在上传完文件后,会使用它的算法,帮你计算好哈希值返回,可以直接用它的作为id。

  获取衣服的唯一id

  这里用衣服来代表一系列的实际物质。如果获取它们的唯一id呢?做法可以放飞思维去思考,比如可以:

  衣服的出厂信息、扫描内容、照片,等系列关于它的信息,数据化,然后用这些数据制作成文件,最后参考图片的做法。

  第二步:通证化

  第一步中获取了物质的id,现在要把它们通证化。切记一点:目前公认的NFT都是基于区块链公链的,那么以后是不是会一直这样呢?不一定,说不准出来了新的共识。

  基于不同公链的流程

  通证化的流程如下:

  选择一条区块链公链。这里的选择会决定后面智能合约等系统组件的技术栈,这一点很核心;

  在所选的公链上开发智能合约;

  所开发的智能合约需要遵循一些基础约定,比如至少能保证物质的id能达到验证去重,什么意思呢?意思是,如果A在今天上传了id=1到链上,明天B也上传同个id=1到链上,合约要能告诉B,你不能上传了,id已经存在;

  部署智能合约到链上,此时它变成DApp;

  通过发交易的方式,调用该智能合约的方法,将id等相关数据存储到链上。

  NFT的智能合约

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

  在以太坊上面,开发NFT智能合约,已经有很多标准,比如ERC-721 1155 998,各有各的特点,但它们的特点是在基础属性上拓展而来的。(各标准文档:/EIPS/eip-721)

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档