3.10 EOS智能合约案例实践

1.Dapp框架与开发

  • 传统Web开发模式如下
  • 区块链开发模式如下
  • 数据是存在内存数据库和区块上
  • 会给前端提供SDK
  • 下图是2个Instance,也就是2个节点
  • 程序员负责的工作:
    • 编写SDK调用

  • 回顾EOS开发流程

2.Oasis游戏设计

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

3.玩家及属性定义

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

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章