转账
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;
}
}