3.10 EOS智能合约案例实践 - Go语言中文社区

3.10 EOS智能合约案例实践


1.Dapp框架与开发

  • 传统Web开发模式如下
  • 程序员负责的工作:
    • 写后端服务
    • 设计数据库表
    • 前端人员开发页面
    • 前后端接口交互的开发
    • 编写缓存服务
      在这里插入图片描述
  • 区块链开发模式如下
  • 数据是存在内存数据库和区块上
  • 会给前端提供SDK
  • 下图是2个Instance,也就是2个节点
  • 程序员负责的工作:
    • 编写智能合约
    • 前端人员开发页面
    • 编写SDK调用
      在这里插入图片描述
  • 回顾EOS开发流程
    在这里插入图片描述

2.Oasis游戏设计

  • Oasis理解为一个数字化的世界
  • 使用eos.token发Oas的币,主网也是用eos.token发EOS币的
  • 玩家玩游戏,赢得Oas币,用币买道具,提升玩家属性

3.玩家及属性定义

  • Player:玩家
    • account:EOS账户
    • username:名称
    • level:等级
    • health:健康点数
    • energy:能量点数
    • abilities:特殊技能
    • inventory:背包,里面有道具,是具体的Item
  • Item:具体的道具
    • item_id:道具id
    • name:道具名称
    • power:增加的力量
    • health:增加的健康点数
    • ability:获得的特殊技能
    • level_up:提升的等级
  • Marketplace:道具商店
    • product:是Item的扩展
    • 例如加了productId,price价钱等
  • Game:游戏,可以增加不同的游戏
    • game_1
    • game_2

4.玩家合约实现

  • 编写oasis/contracts/Players下的文件
  • 启动网络
    在这里插入图片描述
  • 设置两个alias
    在这里插入图片描述
    在这里插入图片描述
  • 解锁钱包
    在这里插入图片描述
  • 查看公钥
    在这里插入图片描述
  • 挑选1个公钥创建player账号
    在这里插入图片描述
  • 生成wast文件
    在这里插入图片描述
  • 生成abi文件
    在这里插入图片描述
  • 使用player账户部署玩家合约
    在这里插入图片描述
  • 创建一个玩家
    在这里插入图片描述
  • 查看是否添加成功
    在这里插入图片描述
  • 调用合约查看账户
    在这里插入图片描述
    在这里插入图片描述- 更新玩家
    在这里插入图片描述
  • 增加技能
    在这里插入图片描述
    在这里插入图片描述
  • 添加item道具
    在这里插入图片描述
  • 查看表中数据
    在这里插入图片描述

5.发币合约实现

  • 编写oasis/contracts/eosio.token下的文件
  • 启动网络
    在这里插入图片描述
  • 设置两个alias
    在这里插入图片描述
    在这里插入图片描述
  • 解锁钱包
    在这里插入图片描述
  • 查看现在的公钥
    在这里插入图片描述
  • 挑选1个公钥创建player账号
    在这里插入图片描述
  • 使用player账户部署玩家合约
    在这里插入图片描述
  • 创建player1账号
    在这里插入图片描述
  • 添加player1玩家
    在这里插入图片描述
  • 查看player1玩家
    在这里插入图片描述
  • 生成wast文件
    在这里插入图片描述
  • 生成abi文件
    在这里插入图片描述
  • 解锁钱包
    在这里插入图片描述
    在这里插入图片描述- 查看现在的公钥
    在这里插入图片描述
  • 创建token账户
    在这里插入图片描述
  • 使用token账户部署发币合约
    在这里插入图片描述
  • 创建token:OAS
    在这里插入图片描述
  • 查看表中数据
    在这里插入图片描述
  • 调用issue方法
    在这里插入图片描述
    在这里插入图片描述
  • 再次查看表中数据
    在这里插入图片描述
  • 使用token账户给player1账户转账
    在这里插入图片描述

6.商品合约实现

  • 编写oasis/contracts/Marketplace下的文件
  • 启动网络
    在这里插入图片描述
  • 设置两个alias
    在这里插入图片描述
    在这里插入图片描述
  • 生成wast文件
    在这里插入图片描述
  • 生成abi文件
    在这里插入图片描述
  • 查看公钥
    在这里插入图片描述
  • 创建market账户
    在这里插入图片描述
  • 使用market账户部署商品合约
    在这里插入图片描述
  • 创建新的Product
    在这里插入图片描述
  • 使用ID查看Product
    在这里插入图片描述
  • 再增加一个Product
    在这里插入图片描述
  • 按照ID更新Product
    在这里插入图片描述
  • 查看更新后的Product
    在这里插入图片描述
  • player1从Marketplace买东西
    在这里插入图片描述
  • 将player1账户授予market合约active的权限
    在这里插入图片描述
  • 再次执行购买,成功
    在这里插入图片描述
  • 查看player1的余额
    在这里插入图片描述
  • 查看player1的背包装备
    在这里插入图片描述
  • 查看产品库存
    在这里插入图片描述

7.玩家战斗实现

  • 编写oasis/contracts/Games下的文件
  • 启动网络
    在这里插入图片描述
  • 设置两个alias
    在这里插入图片描述
    在这里插入图片描述
  • 解锁钱包
    在这里插入图片描述
  • 查看公钥
    在这里插入图片描述
  • 创建player的3个账户
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 使用player账户部署玩家合约
    在这里插入图片描述
  • 添加player1玩家
    在这里插入图片描述
  • 添加player2玩家
    在这里插入图片描述
  • 调用战斗方法
    在这里插入图片描述
  • 创建token账户
    在这里插入图片描述
  • 使用token账户部署发币合约
    在这里插入图片描述
  • 创建token:OAS
    在这里插入图片描述
  • 查看表中数据
    在这里插入图片描述
  • 调用issue方法
    在这里插入图片描述
  • 创建market账户
    在这里插入图片描述
  • 使用market账户部署商品合约
    在这里插入图片描述
  • 创建新的Product
    在这里插入图片描述
  • 将player1账户授予market合约active的权限
    在这里插入图片描述
  • player1从Marketplace买东西
    在这里插入图片描述
  • 查看player1的属性
    在这里插入图片描述
  • 调用战斗方法
    在这里插入图片描述

8.游戏合约实现

  • 编写oasis/contracts/Games下的文件
  • 启动网络
    在这里插入图片描述
  • 设置两个alias
    在这里插入图片描述
    在这里插入图片描述
  • 生成wast文件
    在这里插入图片描述
  • 生成abi文件
    在这里插入图片描述
  • 解锁钱包
    在这里插入图片描述
  • 创建game账户
    在这里插入图片描述
  • 使用game账户部署游戏合约
    在这里插入图片描述
  • 为player1和player2账户授予game合约active的权限
    在这里插入图片描述
    在这里插入图片描述
  • 调用开始战斗
    在这里插入图片描述
  • 查看pk的结果
    在这里插入图片描述
  • 可以再次触发战斗
    在这里插入图片描述
  • 查看游戏合约的pk表
    在这里插入图片描述

学院Go语言视频主页
https://edu.csdn.net/lecturer/1928

[清华团队带你实战区块链开发]
(https://ke.qq.com/course/344443?tuin=3d17195d)
扫码获取海量视频及源码 QQ群:
721929980
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/yincheng01/article/details/84940260
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-27 17:58:36
  • 阅读 ( 1261 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢