猜单双,赔率1:1
pragma solidity 0.5.16;library GuessOracle{function oracle() external returns(uint){return uint(1);}
}
pragma solidity 0.5.16;import "./GuessOracle.sol";contract GuessParity{address private fundPoolAddress; //平台资金地址uint private periods; //期数struct Guess{address player; //玩家地址uint amount; //投注金额uint number; //玩家预言的数字, 0:单, 1:双bool isSucc; //是否预言成功}constructor(address _fundPoolAddress) public{fundPoolAddress = _fundPoolAddress;}mapping (uint => Guess) public guessList;//玩家预言历史记录mapping (uint => uint) public oracleList;//往期记录//玩家投递预言function prophecy(uint _num) public payable{uint _periods = periods;uint newOracle = GuessOracle.oracle();oracleList[_periods] = newOracle;if(_num == newOracle){//预言命中require(address(this).balance > (msg.value * 2), "余额不足");guessList[_periods] = Guess({player:msg.sender, amount:msg.value, number:_num, isSucc:true});//给用户转账,金额为用户发送额*2msg.sender.transfer(msg.value * 2);}else{//没有命中,guessList[_periods] = Guess({player:msg.sender, amount:msg.value, number:_num, isSucc:false});}periods++;}function getFundPoolAddress() public view returns(address){return fundPoolAddress;}function getBalance() public view returns(uint){return address(this).balance;}}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态