3.10 EOS智能合约案例实践
Posted 尹成
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于3.10 EOS智能合约案例实践的主要内容,如果未能解决你的问题,请参考以下文章