eos博彩合约设计

xiaocongcong888 xiaocongcong888     2023-01-16     590

关键词:

集中博彩游戏合约设计 一、功能接口 1. 质押deposit 由用户发起,用户将个人账户中token质押给平台,从而可以进入平台去参与平台活动。 2. 赎回withdraw 由用户发起,在用户结束平台活动需要离开时,发起赎回曾质押给平台的token到个人账户。 3. 开启一期下注openbet 由平台发起,平台启动一期下注,玩家可以参与下注。 4. 结束一期下注 closurebet 由平台发起,平台关闭一期下注,所以玩家的下注被锁定。 5. 下注offerbet 由用户发起,用户参与平台开启的下注,需要在一期下注开启之后执行。 6. 取消下注canneloffer 由用户发起,用户取消曾参与的下注,需要在该期下注结束之前执行。 7. 开奖reveal 由平台发起,平台在一期下注上进行结果操作。 二、数据存储 1. 质押赎回账户表account_index 个人账户token质押给平台和从平台赎回token需要一个账户表来管理个人账户token信息,账户表数据结构如下: a. 个人账户名称 b. 资产额 2. 下注期数记录表g_bet_index 游戏从第1期开始,随后每开启一期游戏,期数自动加1,游戏期数记录表记录了总的下注期数,同时也记录了当前正在进行或者要开启的下一期下注的期数,下注期数记录表结构如下: a. 记录id b. 当前正在进行的下注期数 c. 当前正在进行的下注期名称 d. 当前下注开启关闭状态 e. 当前下注结算状态 3. 下注记录表bet_index 在一期下注开启时间窗口,平台用户可以自由下注以及取消下注,下注记录表则记录了用户的下注情况,下注记录表数据结构如下: a. 记录id b. 下注期数 c. 个人账户名称 d. 下注资产额 e. 下注信息 三、接口实现设计 a. 质押赎回   1. 用户发起质押操作,参数包括质押资产额 2. 从user账户转账token到dice账户,dice.xxx合约将调用eosio.token的transfer action执行转账操作,将user个人账户中token转账到合约账户dice 3. 修改质押赎回账户表,记录user个人用户的质押信息,添加新记录或者修改记录 4. 用户发起赎回操作 5. 从dice账户转账token到user个人账户,dice.xxx合约将调用eosio.token的transfer action执行转账 6. 修改质押赎回账户表,修改user个人用户的质押信息,修改记录或者删除记录 b. 开启下注、结束下注以及开奖   1. 平台发起一次openbet 2. 检查新一期下注是否合法,检查是否有正在进行的下注,如果没有则当前期数+1,同时下注开启 3. 平台发起一次closurebet 4. 检查关闭的下注是否合法,检查是否有正在进行的下注,如果有,则关闭下注 5. 平台发起一次开奖 6. 计算改期开奖结果,计算池中各用户的下注信息并给出各个用户的开奖结果 7. 开奖结果兑现,将开奖结果兑现到各用户的质押上 c. 下注及取消下注   1. 用户发起下注,参数包括下注资产额、下注信息 2. 检查该期下注是否在开放窗口期,如果不在开放窗口期则不能下注 3. 修改用户质押资产额 4. 修改用户下注资产额以及下注信息 5. 用户发起取消下注 6. 检查该期下注是否在开放窗口期,如果不在开放窗口期则不能取消下注 7. 修改用户下注资产额及下注信息 8. 修改用户质押资产额 四、部署合约 1. 创建合约账户 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 create account eosio dice.xxx EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV 2. 部署合约 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 set contract dice.xxx /home/kingnet/tangy/eos/mycontracts/dice.xxx 五、平台接口使用   平台接口需要合约账户 1. 开启下注 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 push action dice.xxx openbet ‘‘ -p dice.xxx 2. 关闭下注 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 push action dice.xxx closurebet ‘‘ -p dice.xxx 3. 开奖 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 push action dice.xxx reveal ‘‘ -p dice.xxx 六、用户接口使用   1. 质押 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 push action dice.xxx deposit ‘"from":"alice", "quantity":"100.0000 EOS"‘ -p alice 2. 赎回 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 push action dice.xxx withdraw ‘"to":"alice", "quantity":"100.0000 EOS"‘ -p alice 以下用户接口需要在下注开启窗口才能被执行 3. 用户下注 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 push action dice.xxx offerbet ‘"bet":"10.0000 EOS", "player":"alice","info":0‘ -p alice 4. 取消下注 cleos --wallet-url http://localhost:9800 --url http://localhost:9800 push action dice.xxx canceloffer ‘"player":"alice"‘ -p alice 七、合约代码   /** * @file * @copyright defined in eos/LICENSE.txt */ #include

eos合约开发集中博彩游戏合约设计_bedrock_stable(代码片段)

集中博彩游戏合约设计一、功能接口1. 质押deposit由用户发起,用户将个人账户中token质押给平台,从而可以进入平台去参与平台活动。2. 赎回withdraw由用户发起,在用户结束平台活动需要离开时,发起赎回曾质押... 查看详情

eos合约开发集中博彩游戏合约设计_bedrock_stable(代码片段)

集中博彩游戏合约设计一、功能接口1. 质押deposit由用户发起,用户将个人账户中token质押给平台,从而可以进入平台去参与平台活动。2. 赎回withdraw由用户发起,在用户结束平台活动需要离开时,发起赎回曾质押... 查看详情

3.10eos智能合约案例实践

...ance,也就是2个节点程序员负责的工作:编写智能合约前端人员开发页面编写SDK调用回顾EOS开发流程2.Oasis游戏设计Oasis理解为一个 查看详情

eos智能合约案例解析

为了帮助大家熟悉EOS智能合约,EOS官方提供了一个代币(资产)智能合约Demo——eosio.token。eosio.token智能合约目前还不是特别完善,个别功能还没有完成。但这个示例合约给出了EOS官方智能合约开发的标准结构和开发方法,并且... 查看详情

eos与以太坊有哪些区别?

...一个专门为开发和运行去中心化应用(DAPP)搭建的智能合约平台;EOS与以太坊类似,同样是基于智能合约和区块链而搭建。但是,从技术和设计理念等方面来看,这两者之间实际上存在明显的区别。那么EOS和以太坊到底有什么... 查看详情

eos智能合约开发:eos创建和管理账号

没有看前面文章的小伙伴可以看一下EOS智能合约开发(一):EOS环境搭建和启动节点EOS智能合约开发(二):EOS创建和管理钱包创建好钱包、密钥之后,接下来你就可以创建账号了,账号是什么?账号保存在区块链上的人类可读的标... 查看详情

eos基础全家桶智能合约ide-eos_studio(代码片段)

简介我们马上要进入智能合约的开发了,以太坊最初提供了智能合约的功能,并宣告区块链进入2.0时代,而EOS的智能合约更进一步,提供了更多的便利性和可能性。为了进一步了解智能合约,并进行开发,我们需要先准备好智能... 查看详情

eos智能合约案例解析

详解EOS智能合约的cpp文件之前的文章介绍了eosio.token智能合约的hpp文件,这次向大家介绍eosio.token.cpp文件,cpp文件即C++代码文件,智能合约所有的业务逻辑内容都是在cpp文件中实现的。eosio.token.cpp文件地址: https://github.com/EOS... 查看详情

eos智能合约源代码解读总体说明

1.基本定义在eos私有节点操作中,我们通常是一个合约对应一个合约账户,并且一个账户中只能部署一个智能合约。如果在同一个账户部署多个合约,那么最后部署的合约会覆盖掉之前的合约。每个帐户都至少链接到... 查看详情

刘文彬精解eos智能合约演练(代码片段)

...博客园,https://www.cnblogs.com/Evsward/p/eos-contract.htmlEOS,智能合约,abi,wasm,cleos,eosiocpp,开发调试,钱包,账户,签名权限热身本文旨在针对EOS智能合约进行一个完整的实操演练,过程中深入熟悉掌握整个EOS智能合约的流程,过程中出... 查看详情

eos智能合约案例解析

详解EOS智能合约的abi文件这次向大家介绍eosio.token智能合约的最后一个文件——abi文件。ABI全称ApplicationBinaryInterface,中文名“应用程序二进制接口”,顾名思义是一个接口文件,描述了智能合约与上层应用之间的数据交换格式... 查看详情

eos基础全家桶(十三)智能合约基础(代码片段)

简介智能合约是现在区块链的一大特色,而不同的链使用的智能合约的虚拟机各不相同,编码语言也有很大差异。而今天我们开始学习EOS的智能合约,我也是从EOS初期一直开发合约至今,期间踩过无数坑,也在StackOverflow上提过... 查看详情

eos智能合约源代码解读boot合约(代码片段)

1.作用激活protocolfeatures性质activatingdesiredprotocolfeaturespriortodeployingasystemcontract*eossys.bootisaextremelyminimalisticsystemcontractthatonlysupportsthenativeactionsandan*activateactionthatallows 查看详情

eos基础全家桶智能合约ide-eos_studio(代码片段)

简介我们马上要进入智能合约的开发了,以太坊最初提供了智能合约的功能,并宣告区块链进入2.0时代,而EOS的智能合约更进一步,提供了更多的便利性和可能性。为了进一步了解智能合约,并进行开发,我们需要先准备好智能... 查看详情

eos的wasm智能合约的局限性

官方只支持用C++写智能合约用C++写智能合约门槛过高,会把许多开发者挡在门外,C++的复杂性也会让智能合约的设计变得困难。Wasm智能合约的效率并不是最优由于C++最终也是编译成wasm字节码并在虚拟机中运行,效率并不能达到... 查看详情

eos智能合约开发-智能合约编写(代码片段)

开发合约前,我们先选择下将要用的编辑工具我常用的有clion和vscode,电脑os为mac,不过其他系统差别不大,如果你习惯用于Windows,那建议选择 WindowsSubsystemforLinux,不建议用其他三方封装的工具,以免更新不及时,或者不兼容,导致生产上... 查看详情

eos智能合约开发-开发环境搭建(代码片段)

我们先尽量简单直白的说下什么是EOS链,资源,智能合约,以及之间的关系.EOS链我们可以把EOS链想成一个由多台服务器组成的一个计算机云集群无意突出此链的中心化.每台服务器(节点)上都部署着一个EOS节点程序,各个节点彼此链接.... 查看详情

eos智能合约开发最佳实践(代码片段)

安全问题1.可能的错误智能合约终止限制转账限额限制速率有效途径来进行bug修复和提升2.谨慎发布智能合约对智能合约进行彻底的测试并在任何新的攻击手法被发现后及时制止赏金计划和审计合约3.合约的简介确保智能合约逻辑... 查看详情