简单智能合约

转账 

pragma solidity^0.4.24;

contract Money{
    address public owner;
    constructor() public {
        owner =msg.sender;
    }
    //chong zhi
    function payMoney() payable public {
        
    }
    
    function() payable public {
        
    }
    //show balance
    function getBalance() public view returns (uint){
        return address(this).balance;
    }
    
    //quqian
    function getMoney() public payable{
        address who =msg.sender;
        require(getBalance()>1 ether);
        who.transfer(1 ether);
    }
    
    function kill() public {
        require(msg.sender==owner);
        selfdestruct(owner);//destroy contract
    }
    
}

抢红包

pragma solidity^0.4.24;
contract redpacket{
    address public tuhao;
    uint public number;
    constructor(uint _number) payable public{
        tuhao =msg.sender;
        number =_number;
    }
    //show balance
    function getBalance() public view returns (uint){
        return address(this).balance;
    }
    //qiang hong bao 
    function stakeMoney() public payable returns(bool){
        require(number >0);
        require(getBalance()>0);
        number --;
        uint random=uint(keccak256(now,msg.sender,"tuhao"))%100;
        uint balance =getBalance();
        msg.sender.transfer(balance*random/100);
        return false;
    }
    
    //destroy
    function kill() public{
        require(msg.sender==tuhao);
        selfdestruct(tuhao);
    }
}

博彩赌大小

pragma solidity^0.4.24;

contract Bet{
    address public owner;
    bool isFinished;//shi fou jie shu
    struct Player{
        address addr;
        uint amount;
    }
    Player[] inBig;
    Player[] inSmall;
    
    uint totalBig;
    uint totalSmall;
    uint nowtime;
    
    //gou zao hanshu
    constructor() public {
        owner =msg.sender;
        totalSmall=0;
        totalBig=0;
        isFinished =false;
        nowtime=now;
    }
    
    function getBalance() public view returns(uint){
    return address(this).balance;    
    }
    function getNowtime() public view returns (uint){
        return now;
    }
    
    //xaizhu
    function stake(bool flag) public payable returns(bool){
        require(msg.value>0);
        //gou zao wan jia 
        Player memory p=Player(msg.sender,msg.value);
        if(flag){//true
            //big
            inBig.push(p);
            totalBig+=p.amount;
        }
        else{//false
            //small
            inSmall.push(p);
            totalSmall+=p.amount;
        }
    }
    
    //kai jiang 
    function open() payable public returns (bool){
        //shi jian dao kaijiang
        require(now >nowtime+20);
        //yyi jing kaiguo ,buneng zaikai 
        require(!isFinished);
        //de'dao得到 kai'jiang'jie'guo开奖结果 0-8 xiao小 9-17da大 
        uint points=uint(keccak256(msg.sender,now,block.number))%18;
        uint i =0;
        Player p;
        if(points>=9){
            //big win
            for (i =0;i<inBig.length;i++){
                p=inBig[i];
                p.addr.transfer(p.amount+totalSmall*p.amount/totalBig);
            }
        }
        else{
            //small win
            for(i=0;i<inSmall.length;i++){
                p=inSmall[i];
                p.addr.transfer(p.amount+totalBig*p.amount/totalSmall);
            }
        }
        isFinished=true;
        return true;
        
        
    }
    
    
    
    
    
    
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值