DAPP-ERC20代币授权机制实践

作者: cowkeys | 来源:发表于2018-08-21 21:15 被阅读8次

如何将ERC20代币应用到dapp应用

1 前言

最近越来越多的dapp应用出现在了我们的视野里,我们可以看到其中大部分都是游戏应用,在这些游戏中,除了很火的fomo3d以及由它衍生出来的同类游戏,剩下的基本都是养成类游戏和简单的博弈类游戏(例如摇股子、锤子剪刀布等)。

当我尝试着也上链了一个类似的游戏上链之后,不由得考虑到了几个问题:

1 如何吸引更多的用户来进入游戏。
2 吸引用户进来之后如何保持住游戏社区的用户活跃度。

因为很多游戏在赚上一波热度后,活跃度就开始下降,并且一个游戏的合约上链之后大都是开源且不能修改的,当用户失去新鲜感后,游戏方不得不马不停蹄地上线更多的游戏来维持用户数。

我们注意到基本上所有的游戏网站都是用ETH来进行交易(通过浏览器钱包metamask)。
那我们是不是可以将已经上链的各种代币通过合约的操作参与到游戏中来,然后我们通过宣传“自身游戏能支持大部分代币”来推广自己的游戏。这样不仅能够吸收各类币种持有者进入我们的游戏社区,也能够推广己方的代币,保持住用户常驻自己社区的各类游戏中。这样就可以把我们自己的社区做成一个类似交易所的游戏社区了!

2 使用代币参与游戏

那么,如何才能实现我们的想法。我们知道目前各类交易所中基于以太坊的代币大部分都是ERC20协议的代币,ERC20标准里有一个重要的方法:

function transfer(address _to, uint256 _value) returns (bool success)

按道理我们可以直接调用transfer方法把代币转给游戏的合约,但是问题来了:
游戏合约不是个人的钱包,虽然说是智能合约,但它自己并不知道有人transfer代币给了它,更不知道是谁转了多少币给到自己,因此我们的游戏不能记录转账信息,所以还是不能支持其他代币的流通。

ERC20协议的升级版ERC223 通过新增接口和识别合约地址来解决了这种问题,但是已经上链的ERC20代币并不能使用这种新的特性,因此也不做过多的解析。

我们往下继续看ERC20的标准接口,发现下面几个方法就能满足我们的需求。

function approve(address _spender, uint256 _value) returns (bool success); 
// 批准_spender账户从自己的账户转移_value个token。可以分多次转移。 
function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
// 与approve搭配使用,approve批准之后,调用transferFrom函数来转移token。
function allowance(address _owner, address _spender) constant returns (uint256 remaining);
// 返回_spender还能提取token的个数。 查询剩余能够使用的代币数`

因此可以得到如下的交易流程:

流程图

2 实用测试

接下来就是付诸实践了。测试源码(如何部署合约,如何使用solidity语法 也不再赘述)。

1 发布一个游戏合约: 代码地址 (简单的投资购买道具key 以及分红机制)。

2 发布一个ERC20代币合约: 代码地址 symbol(seele)。

3 架设一个前端站点进行测试 代码地址,使用web3js来调用metamask进行合约调用。

seelepurchase.png
经过所有的测试,基本能够实现我们用代币参与各类游戏的想法。但是处理起来会多一步授权代币的步骤,这可能会引起部分用户的不信任,如何更好的处理此类交互,大家可以相互交流一下。

我们有一个社区专门讨论区块链dapp相关内容
0x007社区已开通小密圈,欢迎大家加入:


分享码

相关文章

  • DAPP-ERC20代币授权机制实践

    如何将ERC20代币应用到dapp应用 1 前言 最近越来越多的dapp应用出现在了我们的视野里,我们可以看到其中...

  • MoreToken项目百问百答(二)

    1、CDF代币发行量有多少? 代币总量为10亿枚。 2、CDF采用什么机制? 采用POW机制。 3、什么是POW机...

  • 如何进行授权监督

    授权监督要素 授权之初制定监控机制在授权之初,管理者就应该约定监控的机制。这是授权监督的第一个要素。监控机制的内容...

  • egg搭建微信授权

    微信授权采用的是oauth2.0的授权机制,这个与微博,支付宝等授权机制都是通用的。授权会产生access_tok...

  • blockcloud

    项目众筹相关代币的众筹金额及代币锁仓机制代币总共100亿,销售20亿,团队持有10亿,早期贡献者10亿,基金会30...

  • OAuth授权机制

    首先请参考http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.htm...

  • OAuth 2.0

    简介 OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据。 授权机制设计 用快递员进小区...

  • 京东的小伎俩

    声明:本文授权BH好文好报群摘编、转载以及相关授权推文行为; 摘要:区块链里面的TOKEN,国内翻译成代币,其实不...

  • Ulord的分发机制

    Ulord内容分发机制下,消费者是付出代币的人,或者说就是花钱的人。花的代币流向,流向了付出时间,付出成本,付出精...

  • 微信公众号开发(二)

    微信公众号开发文档 微信网页授权 微信客户端中访问第三方网页,可通过 微信网页授权机制 来获取用户信息。授权机制:...

网友评论

    本文标题:DAPP-ERC20代币授权机制实践

    本文链接:https://www.haomeiwen.com/subject/pendiftx.html