网站地图| 免费获取|
毕业论文网
  • 网站首页|
  • 论文范文|
  • 论文降重|
  • 职称论文发表|
  • 合作期刊|
  • 论文下载|
  • 计算机论文|
  • 外文翻译|
  • 免费论文|
  • 论文资料|
  • 论文开题报告
搜索

当前位置:毕业论文网 -> 免费论文 -> 计算机论文 -> 关于区块链技术在游戏道具设计的应用(三)
计算机论文资料| ASP设计| Delphi| VB设计| JSP设计| ASP.NET设计| VB.NET| java设计| VC| pb| VS| dreamweaver| c#.net| vf| VC++| 计算机论文范文| 论文下载| 自动化论文

关于区块链技术在游戏道具设计的应用(三)

最新活动:微信集50个赞就可获取任意一篇钻石会员文档。详情见微信集赞换文档
关于区块链技术在游戏道具设计的应用(三) 关于区块链技术在游戏道具设计的应用
2.3 ERC20 通证标准和ERC721 通证标准
ERC 是 Ethereum Request for Comment 的缩写,即以太坊征求意见,是在编写以太坊智能合约时的,非强制要求的规范,但是遵循这个标准所创建的通证,可以与众多交易所、钱包、Dapp等进行交互。
ERC-20最初作为一种尝试,旨在为以太坊(Ethereum)上的token合约提供一个特征与接口的共同标准。ERC-20有很多好处,不仅兼容很多的token,还包括允许钱包显示数以百计不同token的账户余额;创建一个交易工具,只需提供token合约的地址就可以将更多token列入表中。
ERC20 [3]是指以太坊第20号通证标准,由这一标准制定的智能合约所生产的数字资产,具有互换性、和同质性。ERC20 是各个代币的标准接口。ERC20 代币仅仅是以太坊代币的子集,为了充分兼容 ERC20,开发者需要将一组特定的函数(接口)集成到他们的智能合约中,以便在高层面能够执行这些操作:获得代币总供应量、获得账户余额、转让代币、批准花费代币。ERC20 让以太坊区块链上的其他智能合约和去中心化应用之间无缝交互。一些具有部分但非所有ERC20标准功能的代币被认为是部分ERC20兼容,这还要视其具体缺失的功能而定,但总体是它们仍然很容易与外部交互。
但ERC20也有其缺点,ERC20令牌无法将令牌发送给一个与这些令牌不兼容的契约,正因为这样,使部分资金存在丢失的风险。曾出现过由于被发送到“错误”的合同上,大约价值40万美元的ERC20令牌被困。
ERC721[4],以太坊第721号通证标准,由这一标准制定的智能合约所生产的数字资产,具有不可替代性,每一个ERC721资产都是独一无二的。ERC721标准是由游戏CryptoKitties于2017年底推出的,在这个游戏中,玩家收集虚拟小猫,每只小猫都代表一个ERC721资产。与ERC20相比,ERC721的所有权被简化了,用户完全拥有资产,或者完全不拥有资产。例如,在Cryptokitties中拥有“半只小猫”是不可能的。这就是为什么我们说ERC721代币标准是不可替代资产的。由这一通证产生的令牌被称为,Non-fungible token (NFT) 无差别令牌。RC-721是非同质化代币,也就意味着每个Token都是不一样的,都有自己的唯一性和独特价值,当然这也就意味着它们是不可分割的,也同时具有了可追踪性。
ERC721代表了对资产的所有权,为物品或记录的代币化提供了可能,开劈了一个巨大的市场,比如现实世界的房屋(房屋是不可移动,占据特定空间的资产,具有唯一性)和独一无二的艺术品;虚拟世界中的收藏物品,如以太坊上的各种收藏游戏中各种独一无二的收藏品;金融交易中的借贷交易记录。
本文提出的游戏道具系统将利用ERC721通证标准定制的接口作为道具的合约代码标准。



第三章  区块链游戏道具系统的制作与分析
3.1 实验环境
客户端实验环境:游戏客户端为Unity开发引擎,客户端开发语言使用c#,使用Nethereum为.Net区块链集成库。
测试区块链使用本地Ganache2.3.2搭建的私有以太坊区块链,智能合约使用Solidity编写,使用Remix IDE为区块链集成开发环境。

3.2 游戏道具智能合约编写与部署
首先搭建Ganache私有以太坊测试链,并将Remix连接至本地测试地址Http://127.0.0.1:7545,如图1所示。Ganache已经分配了10个测试账号,每个账号带有100ETH以太币,故玩家在进行交易时无需再支付费用。


图1.   搭建测试链并连接Remix

根据ERC721通证标准,编写道具合约GameItem.sol 部署至Ganache私有以太坊测试链,如图2所示,并获取合约地址,以及生成的ABI和Bytecode。
ABI是Application Binary Interface 的缩写,既应用程序二进制接口,它是用来和区块链智能合约交互的重要组成部分,ABI是一个.Json文件,如图2所示,记录了该智能合约中的上下文,所用到的方法,事件名等。既方便了我们快速的阅读合约,又告诉了我们合约中的方法类型,应该怎样去调用,是否需要支付额外的费用等。

图2. 实例合约的ABI

这里的ByteCode是指创建合约时生成的字节码,既合约创建字节码,与运行时字节码(Runtime ByteCode)不同的是,合约创建字节码用于生成运行字节码,并包括了合约的构造函数逻辑和构造函数参数。合约创建字节码等效于创建合同的交易输入数据。该字节码也运用于在区块链中检索该合约。
图3.  部署道具合约

在测试链中,通过Remix发送MintItem函数的交易,把道具属性作为参数一起发送给该合约,由交易的日志中包含了发送交易的地址,发送到合约的地址,花费了多少交易费用,交易发送的16进制数据,和该数据解码后的json数据格式,该Json中显示键分别为“uint256_ItemIndex”, “uint256_Level”, “int256_Power”,值分别为“0x00”,“0x02”,“0x05”,既发送道具编号0,等级2,能量5,到测试链中,如图4所示。

图4. 通过合约生产道具


3.3 游戏客户端道具系统搭建
通过Unity游戏引擎制作两款游戏的客户端界面,如图5所示。

图5.  客户端界面

第一款“CryptoSkeleton”是一款多人横版角色扮演游戏,第二款“CryptoMini”是一款上下摄像机多人角色扮演游戏,”CryptoSkeleton“和“CryptoMini”在摄像机角度设计不一样,游戏地图设计不一样,但是道具系统使用相同的属性和机制。

3.4 客户端与智能合约交互
Nethereum与以太坊的交互包括:部署合约,Call,Transaction,查询事件。
部署合约,通过Nethereum提供的代码生成器,编译合约获得的Bytecode生成.Net类。使用该.Net类发送合约到区块链。
Call是指,不需要花费Gas交易费用的,查询区块链数据的操作。
Transaction是指,需要花费Gas交易费用的,写入或者改变区块链数据的操作。
查询事件,是用来查询以太坊虚拟机(EVM)日志功能中提供的一组方便的接口。
在该例中,首先使用之前生成的ABI和Bytecode通过Nethereum提供的playground.nethereum工具编译生成c#接口,再将接口的C#代码分别导入到两个客户端项目,使用私钥对查询交易签名,通过发送Call到道具合约地址查询交易,成功在两款游戏客户端获取区块链中GameItem合约的道具数据,如图6所示,从控制台打印出道具编号0,等级2,能量5。

图6.  通过客户端获取道具合约数据

首页 上一页 1 2 3 4 下一页 尾页 3/4/4

关于区块链技术在游戏道具设计的应用(三)由毕业论文网(www.huoyuandh.com)会员上传。
原创论文资料流程 相关论文
上一篇:基于聚类算法的财务风控方法研究 下一篇:艾迅网络公司库存使用管理信息系..
推荐论文 本专业最新论文
Tags:关于 区块 技术 游戏 道具 设计 应用 2022-08-24 11:02:09【返回顶部】
精彩推荐
发表论文

联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士论文资料


毕业论文网提供论文范文,论文代发,原创论文资料

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2020 毕业论文网 版权所有