借助于智能合约代码公开透明的特性,其在×××方面拥有巨大的潜力。
下面的代码构建一个×××合约
功能如下:
1、玩家入场,必须大于0.01Ether
2、裁判判断输赢、通过随机数的方式得到赢家,赢家将会得到所有的资金。然后清空玩家列表,等待玩家从新入场。
lottery.sol
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
pragma solidity ^0.4.23;
contract Lottery{ address public manager; address[] public players;
constructor() public { manager = msg.sender; }
function enetr() public payable{ require(msg.value>0.01 ether); players.push(msg.sender); }
function random() private view returns(uint){ return uint(keccak256(block.difficulty,now,players)); }
modifier restricted{ require(msg.sender==manager); _; }
function pickwiner() public{ uint index = random() % players.length;
players[index].transfer(address(this).balance); players = new address[](0); }
function getPlayers() public returns(address[]){
return players; }
}
|