智能合約:猜數字合約

下面爲猜數字合約
功能爲,用戶調用合約的guess方法,同時向合約轉賬,如果猜中數字,則返回2倍的轉賬金額。如果猜不中,則沒有任何變化。和現實生活中的彩票有點類似。但是這個是固定的返回比例,可以在此基礎上修改,實現更多的功能。
具體代碼如下:

pragma solidity ^0.4.0;

/**
* 猜數字合約
* 如果猜中,則返回2倍的資產
*/
contract Honeypot {
    //定義要猜的數字
    uint luckyNum=52;
    uint public last;
    struct Guess{
        address player;
        uint number;
    }
    Guess[] public guessHistory;
    function guess(uint _num) public payable{
        Guess newGuess;
        newGuess.player=msg.sender;
        newGuess.number=_num;
        guessHistory.push(newGuess);
        //如果猜的數字相同
        if(_num==luckyNum){
            //給用戶轉賬,金額爲用戶發送額*2
            msg.sender.transfer(msg.value*2);
        }
        last=now;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章