前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初元星球农场生态游戏开发功能部署流程

初元星球农场生态游戏开发功能部署流程

原创
作者头像
开发v_hkkf5566
发布2023-03-02 10:42:06
1.1K0
发布2023-03-02 10:42:06
举报
文章被收录于专栏:技术开发分享技术开发分享

初元星球是由社区自治驱动的GameFi游戏平台,它可以让玩家来决定游戏未来的开发路线,以奖励、回报、享受赋予用户绝对公平的游戏权利,用户只需要按照自身设定的路线,就可以通过生态代币PMT与游戏内NFT,将玩家付出心血获得的游戏内容进行出售变现,在游戏的同时保障生活获取利益,真正实现边玩边赚,与初元星球共同创造一个真正独特且永恒的GameFi生态系统。

初元星球一览

初元星球系统的设定是一个包含了休闲、模拟经营、塔防、策略、探索、冒险、解谜、moba非对称对战、大逃杀等多类型链游平台,丰富的游戏类别,已经多种类的NFT种类,加之多样化的玩法是初元星球能在众多Gamefi平台中脱颖而出的亮点之一;

在游戏体验中,初元农场是一款以社交与收益为核心的成长型游戏,土地(NFT)作为开启游戏的唯一凭证,一个玩家最多可以开垦12块土地进行种植,具有6级变化,不同级别的效果有不同变化;而作为核心道具的种子则多达46种,每一种都具有不同的产出能力和成熟时间,风格多遍的46种形象(非常的VI体验),而收成合成后所以产物用户都可使用或者在商品交易所进行出售。

ERC20规范

ERC20约定了一个代币合约需要实现的接口:

代码语言:javascript
复制
// 接口标准
contract ERC20 {
function totalSupply() constant returns (uint totalSupply); // 总发行量
function balanceOf(address _owner) constant returns (uint balance);
// 代币分发(注意, 这个只有合约的Creator 可以调用)
function transfer(address _to, uint _value) returns (bool success);
// 这里是拥有者和拥有者之间的代币转移
function transferFrom(address _from, address _to, uint _value) returns (bool success);
function approve(address _spender, uint _value) returns (bool success);
function allowance(address _owner, address _spender) constant returns (uint remaining);
event Transfer(address indexed _from, address indexed _to, uint _value);
event Approval(address indexed _owner, address indexed _spender, uint _value);
// Token信息
string public constant name = "4FunCoin";
string public constant symbol = "4FC";
uint8 public constant decimals = 18; // token的精度, 大部分都是18
}

上面的代码是一个标准的ERC20标准的代码, 规范给出了框架, 我们只需要实现相应的函数就好了, 这里给出函数说明。

接口函数说明

函数的形参是局部有效, 所以前面使用下划线, 与其他的变量区别开来. 如 _owner.

代码语言:javascript
复制
totalSupply() 函数返回这个Token的总发行量;
balanceOf() 查询某个地址的Token数量 , 结合mapping实现
transfer() owner 使用这个进行发送代币
transferFrom () token的所有者用来发送token
allowance() 控制代币的交易,如可交易账号及资产, 控制Token的流通
approve() 允许用户可花费的代币数;

事件函数说明

这里两个Event是重点, 事件,可以被前端js代码捕获到并进行相应的处理:

event Transfer() Token的转账事件

event Approval() 允许事件

ERC20代币合约实现

理解了上面的函数, 下面的代码,就实现了Token合约的函数填充

pragma solidity ^0.4.16;

interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; } // token的 接受者 这里声明接口, 将会在我们的ABI里

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档